木 木子小虫 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-05 #1 请问,如果把客户端的数据模块做成动态联接库,如何使用>>>DLL数据模块<<<中的ClintDateset,DCOMConnection 控件? 通常的模式,只要在Use句中引用客户端数据模块,就可以使用数据模块中的控件!!
请问,如果把客户端的数据模块做成动态联接库,如何使用>>>DLL数据模块<<<中的ClintDateset,DCOMConnection 控件? 通常的模式,只要在Use句中引用客户端数据模块,就可以使用数据模块中的控件!!
W wind28 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-05 #2 看过一个程序好像实像了这个功能!! 晚上过来帮你找找!!
A aaere Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-08 #4 希望能得到帮助:leng@wiec-garment.com
木 木子小虫 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-10 #5 我以Delphi包的形式能够实现我提问中的功能! 但是,动态装载同样的包, 由ExE执行程序文件装载没问题,如果改为在Dll中调用装载包, 以下代码: var AComponent: TComponent; AIntfDataModule: IDataModule; begin AComponent:= TComponentClass(ClassLst_DataModule[LbClasses.ItemIndex]).Create(Button); 总是报错 "尚未调用 CoInitialize" , 请高手门能够指导! 谢谢!
我以Delphi包的形式能够实现我提问中的功能! 但是,动态装载同样的包, 由ExE执行程序文件装载没问题,如果改为在Dll中调用装载包, 以下代码: var AComponent: TComponent; AIntfDataModule: IDataModule; begin AComponent:= TComponentClass(ClassLst_DataModule[LbClasses.ItemIndex]).Create(Button); 总是报错 "尚未调用 CoInitialize" , 请高手门能够指导! 谢谢!
A app2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-10 #6 initialization//保留字 Coinitialize(nil); finalization//保留字 CoUninitialize; 查找一下帮助,看这两个保留字一般出现在什么地方,然后把上面语句添加进去就好了
initialization//保留字 Coinitialize(nil); finalization//保留字 CoUninitialize; 查找一下帮助,看这两个保留字一般出现在什么地方,然后把上面语句添加进去就好了
W windbell Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-10 #7 在dll的初始化代码中加入coinitialize对组件进行初始化。
木 木子小虫 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-11 #8 to :app2001,windbell 能否将你们的想法,说的具体一点?coinitialize 可以调用吗? 我试过了,好像不成功! 我用自己的方法解决了调用问题!但是,组件包卸载后,非法访问对象问题严重! 请求指教!!
to :app2001,windbell 能否将你们的想法,说的具体一点?coinitialize 可以调用吗? 我试过了,好像不成功! 我用自己的方法解决了调用问题!但是,组件包卸载后,非法访问对象问题严重! 请求指教!!
A app2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-11 #9 老贴子上的答案 yzhshi (2002-5-25 9:50) 稍微解释一下: 因为Ado实际上是Com,在调用Com以前需要进行初始化,就是使用CoInitialize进行。 如果不进行初始化,就会出问题的。 特别是在动态链接库中使用了Ado,而在主程序中没有初始化,那么调用的时候就会出现 没有初始化CoInitialize的错误。 如果你在主程序中也使用了Ado控件,那么就不会出这个问题,因为在Ado单元里面已经调用了CoInItialize了。 所以,如果你出现的错误是没有初始化CoInitialize,那么在主程序中执行这个就可以了。 如果你出现的问题不是这个,那么就要考虑别的问题了,如:将主程序句柄传入等等。
老贴子上的答案 yzhshi (2002-5-25 9:50) 稍微解释一下: 因为Ado实际上是Com,在调用Com以前需要进行初始化,就是使用CoInitialize进行。 如果不进行初始化,就会出问题的。 特别是在动态链接库中使用了Ado,而在主程序中没有初始化,那么调用的时候就会出现 没有初始化CoInitialize的错误。 如果你在主程序中也使用了Ado控件,那么就不会出这个问题,因为在Ado单元里面已经调用了CoInItialize了。 所以,如果你出现的错误是没有初始化CoInitialize,那么在主程序中执行这个就可以了。 如果你出现的问题不是这个,那么就要考虑别的问题了,如:将主程序句柄传入等等。
A app2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-11 #10 对了,关于将数据模块打包到DLL中的利弊,李维有一篇文章很好的对比了一下,你可参看一下的 http://www.sinter.com.tw/borland/jbuilder/TogetherSoft-1.pdf 如何使用Delphi 開發大型主從架構系統.doc
对了,关于将数据模块打包到DLL中的利弊,李维有一篇文章很好的对比了一下,你可参看一下的 http://www.sinter.com.tw/borland/jbuilder/TogetherSoft-1.pdf 如何使用Delphi 開發大型主從架構系統.doc
木 木子小虫 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-12 #11 to app2001: 李维的文章打不开,是不是地址有问题,我很想看看! 关于如何在主程序中调用"CoInitialize"的问题,我还是不明白! 初始化的问题,我已经变相的解决!但是由于我的主程序调用了"Dll"和"Delphi包" 每当主程序关闭退出时,总会出现非法访问不存在的对象的问题! "Delphi7从入门到精通"的作者,提到过,由于包释放后,非法访问的问题普遍存在, 而且这种错误很难追踪和修复!不知道有没有办法解决? 这种错误,不会导致系统崩溃,能不能把这种错误屏蔽掉?-->这种错误发生在主程序退出后, 所以主程序中的TApplicationEvents无法捕获这种错误!
to app2001: 李维的文章打不开,是不是地址有问题,我很想看看! 关于如何在主程序中调用"CoInitialize"的问题,我还是不明白! 初始化的问题,我已经变相的解决!但是由于我的主程序调用了"Dll"和"Delphi包" 每当主程序关闭退出时,总会出现非法访问不存在的对象的问题! "Delphi7从入门到精通"的作者,提到过,由于包释放后,非法访问的问题普遍存在, 而且这种错误很难追踪和修复!不知道有没有办法解决? 这种错误,不会导致系统崩溃,能不能把这种错误屏蔽掉?-->这种错误发生在主程序退出后, 所以主程序中的TApplicationEvents无法捕获这种错误!
A app2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-12 #12 错了,因该是这里, http://www2.borland.com.tw/tw/reference9.html
迷 迷糊 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-12 #13 还是用bpl吧,它可以方便的传递对象,缺点是只能给delphi程序用