某种需求。一个应用程序往里写,另一个程序读。
帮忙了
帮忙了
解决方案 »
- assignto和assign函数
- 请教开发思路,如何在文本编辑器里实现文字的防删除、修改?
- <help>Quick Report 打印不能分頁
- 求getwindowtext函数的用法~[很简单的问题,请求各位仁兄帮忙]
- 如何在DBGrid中完成分页显示?
- 如何实现像window任务管理器中CPU使用时间的动态图?(Tchart能实现吗?)请大虾帮忙帮忙
- 我想开公司了,不知道怎么样才能不违法
- 在delphi中用ado连接foxpro数据库,如何真正的将数据库中的记录删除?真删除,不是假删除!在线等待!
- 我想下载一个人员管理系统
- 请教Delphi高手或C++高手一个OOP问题。
- DELPHI怎样获得计算机名称?
- 数据库设计问题
var
pRepData:pTRepData;
begin
//创建映射文件
hMapping := CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE,0,SizeOf(TRepData),'RepData');
if hMapping = 0 then begin
ShowMessage('不能创建内存映射文件');
Exit;
end;
//将映射文件映射到本进程
RepMemQueue := TQueue(MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0));
if RepMemQueue = nil then begin
CloseHandle(hMapping);
ShowMessage('不能创建映射视图');
Exit;
end;
New(pRepData);
pRepData^.name := 'test1';
pRepData.value := 0.05;
RepMemQueue.Push(pRepData); //报错
end;我的目的是创建一个全局TQueue对象,两个应用程序能够操作这个对象。
请指教。
谢谢
RepMemQueue := TQueue(MapViewOfFile(hMapping, FILE_MAP_ALL_ACCESS, 0, 0, 0));TQueue是一个容器,自己会分配内存,这样映射了,只能对类操作。我想,你只能自己建立一个类,来实现队列。而这个类操作的对象就是这片映射的内存。