两个程序,一个windows服务程序S(service),一个桌面程序G(GUI)。
我采用共享内存的方式,可实现integer,string,record等数据类型的传递。但对于类的实例,不知道该如何传递或共享。
我的目的是:在服务程序S中,已经:MyClass:=TMyClass.create;我希望在桌面程序G中能够也能读取并使用该对象,就像使用程序G自己创建的对象一样。困惑已久,工期渐近,且实验无数次,望代码明示!
我采用共享内存的方式,可实现integer,string,record等数据类型的传递。但对于类的实例,不知道该如何传递或共享。
我的目的是:在服务程序S中,已经:MyClass:=TMyClass.create;我希望在桌面程序G中能够也能读取并使用该对象,就像使用程序G自己创建的对象一样。困惑已久,工期渐近,且实验无数次,望代码明示!
解决方案 »
- 随机字母和数字,在图片控件上绘出,显示乱码。求解决
- 如果在程序上放上百多个Timage,结果会怎么样?
- 软件启动时就访问远程sql server,并检查连通了sql server没有?
- 怎样将这个函数封装成dll ,供PB调用??
- 在delphi中怎样展开bom表,不用sql 后台procedure!,只用adoquery ,自定yi function() ,temp table 急急急!谢谢!
- PCOM控件中的sio_ioctl(),参数如何动态设置?特别是第三个参数,
- 在DELPHI中使用SQL语句的错误
- 如何时消息框显示窗口的最前端?
- Kingron,谢谢你的编程技巧(db.zip)给你送分!进来 吧
- 救命!突然出现异常
- [Fatal Error] Functions.pas(24): File not found: 'Unit1.dcu'
- 关于线程中的TList
http://topic.csdn.net/u/20090601/18/34834b1b-5386-4c0e-8313-f9edadddaf41.html
因为没办法对对象的传递或共享,所以采用消息机制。结果消息机制也遇到问题。这两帖只要能解决其一,就都可以。
=====================
使用COM能满足你的要求
=====================
有代码实例以示范吗?因为时间太紧了,谢谢!
您给我的COM EMO,我仔细看过了,我觉得还是不能解决我的问题。
我的个人理解,COM是否是只能实现代码的重用,而无法实现“对象”的共享。
由于前段时间忙业务,没时间来管代码,隔了很长时间,见谅!
在E1中,创建了类Ta的一个实例A,Ta有两个属性:Name和ID。
假设,E1运行起来后,A.Name:='cctv1',A.ID:='2009'。
这时我希望在E2中也能引用E1中的对象A,而且这个对象A.Name='cctv1',A.ID='2009'。
我的个人理解,COM是否是只能实现代码的重用,而无法实现“对象”的共享。
----------------------------------------------------------------
COM是可以实现的,这个问题以前讨论过!
这个例子是僵哥做的
http://d.download.csdn.net/down/824285/unsigned
仪仪猪猪的Demo我没看,估计是没在COM中以计数的形式进行管理Object,可能是每调用一个COM Interface,生成一个新实例,这样肯定实现不了!
exports
RunADOForm;RUNADOFORM(vADO:TADOConnection)
....
==================
我只会共享基本类型的数据共享,使用FileMap共享对象实例一直没有成功,望代码或DEMO示之.