在DELPHI中怎么设置共享数据段? 在DELPHI中怎么用#pragma data_seg预处理指令设置共享数据段? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 晕,你当DELPHI是VC嗦?在Delphi中要实现共享内存,要用CreateFileMapping 在DELPHI中怎么用#pragma data_seg预处理指令设置共享数据段?在Delphi里没有这个用法...最好使用内存映射文件:const BUFFER_SIZE = 16 * 1024; HOOK_MEM_FILENAME = 'MEM_FILE';type TShared = record MainWnd :THandle; end; PShared = ^TShared;var MemFile: THandle; Shared: PShared;procedure DllEntry(dwReason : integer);begin case dwReason Of DLL_PROCESS_ATTACH: begin MemFile := OpenFileMapping(FILE_MAP_WRITE,False,HOOK_MEM_FILENAME); if MemFile = 0 then MemFile := CreateFileMapping($FFFFFFFF,nil, PAGE_READWRITE, 0, SizeOf(TShared), HOOK_MEM_FILENAME); Shared := MapViewOfFile(MemFile, File_MAP_WRITE, 0, 0, 0); end; DLL_PROCESS_DETACH: begin //你的处理 UnmapViewOfFile(Shared); CloseHandle(memFile); end; else; end;end;存储可以这样实现:Shared^.MainWnd := Handle; 新手,关于数据库中数据关联问题... 求教一个delphi读取xml的问题 如何检测中文字符? 寻开发LIS系统所需的某些设备接口协议 紧急求助,怎么改?在线急等! 怎么老有错!! 初学者帮帮忙,!!谢谢了! 帮忙看看,真急了!!!! ListView更改标题栏的问题。 全文搜索引擎控件 请大家帮帮我把,我怎么也想不出来了,这个键盘钩子就是不执行? 一个delphi 下API 函数 串口编程问题 ————在线等待!!!急急急急!!!!
在Delphi中要实现共享内存,要用CreateFileMapping
在Delphi里没有这个用法...
最好使用内存映射文件:
const
BUFFER_SIZE = 16 * 1024;
HOOK_MEM_FILENAME = 'MEM_FILE';type
TShared = record
MainWnd :THandle;
end;
PShared = ^TShared;var
MemFile: THandle;
Shared: PShared;procedure DllEntry(dwReason : integer);
begin
case dwReason Of
DLL_PROCESS_ATTACH:
begin
MemFile := OpenFileMapping(FILE_MAP_WRITE,False,HOOK_MEM_FILENAME);
if MemFile = 0 then
MemFile := CreateFileMapping($FFFFFFFF,nil,
PAGE_READWRITE,
0,
SizeOf(TShared),
HOOK_MEM_FILENAME);
Shared := MapViewOfFile(MemFile,
File_MAP_WRITE,
0,
0,
0);
end;
DLL_PROCESS_DETACH:
begin
//你的处理
UnmapViewOfFile(Shared);
CloseHandle(memFile);
end;
else;
end;
end;存储可以这样实现:
Shared^.MainWnd := Handle;