Delphi内存映射文件例子分享.pdfVIP

  • 20
  • 0
  • 约7.99千字
  • 约 6页
  • 2021-12-10 发布于福建
  • 举报
Delphi 内存映射文件例子 收藏 unit FileMap; interface uses Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,StdCtrls,Dialogs; type TFileMap=class(TComponent) private FMapHandle:THandle; // 内存映射文件句柄 FMutexHandle:THandle; // 互斥句柄 FMapName:string; // 内存映射对象 FSynchMessage:string; // 同步消息 FMapStrings:TStringList; // 存储映射文件信息 FSize:DWord; // 映射文件大小 FMessageID:DWord; // 注册的消息号 FMapPointer:PChar; // 映射文件的数据区指针 FLocked:Boolean; // 锁定 FIsMapOpen:Boolean; // 文件是否打开 FExistsAlready:Boolean; // 是否已经建立过映射文件 FReading:Boolean; // 是否正在读取内存文件数据 FAutoSynch:Boolean; // 是否同步 FOnChange:TNotifyEvent; // 当内存数据区内容改变时 FFormHandle:Hwnd; // 存储本窗口的窗口句柄 FPNewWndHandler:Pointer; FPOldWndHandler:Pointer; procedure SetMapName(Value:string); procedure SetMapStrings(Value:TStringList); procedure SetSize(Value:DWord); procedure SetAutoSynch(Value:Boolean); procedure EnterCriticalSection; procedure LeaveCriticalSection; procedure MapStringsChange(Sender:TObject); procedure NewWndProc(var FMessage:TMessage); public constructor Create(AOwner:TComponent);override; destructor Destroy;override; procedure OpenMap; procedure CloseMap; procedure ReadMap; procedure WriteMap; property ExistsAlready:Boolean read FExistsAlready; property IsMapOpen:Boolean read FIsMapOpen; published property MaxSize:DWord read FSize

文档评论(0)

1亿VIP精品文档

相关文档