dll中两个窗体间赋值问题(300分)

  • 主题发起人 主题发起人 vbjstudy
  • 开始时间 开始时间
V

vbjstudy

Unregistered / Unconfirmed
GUEST, unregistred user!
在dll中用一个datamodule ,dll中的3个窗体共用,怎么做
 
都在同一个dll中的话,我觉得和 在exe中没什么区别啊
 
不一样,要在dll form 里面 初始化时候 初始化 dm。
 
不明白你为什么这么用,DataModule是代用该组件时自动创建的,不过应该也可以这么写:
1、在你的DataModule单元的implementation上面声明两个变量
var
MyDM: TMyDataModule;
CF: TComponentFactory;
//类工厂
2、在DataModule的Create事件中写
MyDM := Self
这样在其他单元中就可以引用MyDM了,但是这样涉及到一个问题就是DataModule何时创建的问题,在引用前应该先检测一下MyDM是不是nil,如果是nil需要你来创建一个,
可以这么写:
if not Assigned(MyDM) then
CF..CreateComObject(nil);
这样你的DataModule就被创建了。
你试试吧,不行再说。
 
接受答案了.
 
后退
顶部