Delphi 支持共享内存的概念,可以通过 TSharedMemory 类来实现两个程序之间的共享内存。
以下是一个简单的示例,展示如何创建和读取共享内存:
var
SharedMem: TSharedMemory;
Data: Pointer;
begin
// 创建一个 1024 字节大小的共享内存
SharedMem := TSharedMemory.Create('MySharedMemory', 1024);
// 锁定共享内存,并返回指向内存块的指针
Data := SharedMem.Lock;
// 在共享内存中写入数据
StrCopy(Data, 'Hello, world!');
// 解锁共享内存
SharedMem.UnLock;
// ...
// 重新锁定共享内存
Data := SharedMem.Lock;
// 从共享内存中读取数据
ShowMessage(PChar(Data));
// 解锁共享内存
SharedMem.UnLock;
// 释放共享内存对象
SharedMem.Free;
end;
请注意,两个程序必须使用相同的共享内存名称来访问同一个共享内存块。在上面的示例中,我们使用了“MySharedMemory”作为共享内存名称。确保在两个程序中都使用相同的名称才能使它们共享相同的内存块。