应用服务器中主form,如何引用remote data module中的变量、方法(200分)

  • 主题发起人 主题发起人 swangwh
  • 开始时间 开始时间
S

swangwh

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说,应用服务器中remote data module有两个table、两个datasource,在主窗口中仅有一个dbgrid控件,和一个按钮,在按钮的click事件中想改变dbgrid控件的datasource属性,动态显示remote data module中的各个表的内容。
然而实作中仅可在dbgrid的属性页中改变datasource属性,在程序中却无法引用remote data module!
各位兄弟,此问题该如何解决!
另那位有李维著Delphi 4.X实战篇1,2两书的范例程序,请email给我一份,不甚感激!
我的email 地址:swangwh@sina.com
谢谢!
 
>>应用服务器中remote data module有两个table、两个datasource,在主窗口中>>仅有一个dbgrid控件,和一个按钮,在按钮的click事件中想改变dbgrid控件的>>datasource属性,动态显示remote data module中的各个表的内容。
>>然而实作中仅可在dbgrid的属性页中改变datasource属性,在程序中却无法引用>>remote data module!
>>各位兄弟,此问题该如何解决!
要应用remote data module中的数据,必须象做应用客户端一样,在主窗体用DCOM和CLIENTDATASET
 
应用服务器中remote data module 是当客户端连接到服务器时才动态生成。
所以在主窗口中不能引用 remote data module
 
好象没说清楚,还是你对三层的理解不够,
不知如何回答了。
 
错误信息:Method identifier expected.
不知如何解决,有好方法通知我一声。
 
此问题,我已解决了
在remote data module的interface段中先定义一变量
myrdm : trdm;
然后在remote data module的oncreate 事件中对myrdm进行赋值
procedure Trdm.RemoteDataModuleCreate(Sender: TObject);
begin
myrdm := trdm(sendor);
end;
这样就可以在主form中,调用remote data module的属性和方法
 
为什么不用数据模块线程数组?
 
在主FORM中调用RDM实例是不值得提倡的.
应该是RDM实例调用主FORM才是标准作法.
当然,硬要在主FORM中调用RDM的话,可以维护一个RDM实例数组,RDM实例创建时
将自己保存到该数组中,主FORM然后才可直接调用该实例,但这确实不值得提倡.
 
你用双层吧
 
远程数据模块中放DataSource? 给谁用的?
 
你只能用type library定义函数,在remote datamodule中写函数,
在form中通过dcomconnect引用函数
 
受不了,就在主FORM加个CLIENTDATASET……呵呵
 
To swangwh: 你的解决方法危险,如果创建了多个远程模块,你的myrdm保存的是
哪个实例?
 
得用ClientDataSet
 
多人接受答案了。
 
后退
顶部