在应用与dll中关于控件类型的问题(80分)

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

sjjwan

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我现在在dll写了个导出函数: procedure setControl(Control: TCControl);
为什么我在函数体中Control Is TButton 这个is语句会是false啊,我就是从应用中传入了一个button. 难道应用中的button在dll中就不属于dll的Tbutton类型了?
 
EXE和DLL中各有一份RTL和VCL代码.算是两个同名的TButton类而已.
不信你把TButton的地址数出来.Delphi的Class是指针.你可以看到两个地址不同.
尽量在DLL和EXE间用接口,非要用Class的话那么EXE和DLL都带RTL和VCL包运行.这样VCL代码才只有一份,在RTL和VCL的包内
 
呵呵,wr960204谢谢你的回答.我在网上也找到了答案,跟你说的基本上一样.你还说出了解决方案.真的感谢.顺便问你一句,你是专职搞delphi的嘛?
 
我是大杂烩.
 
呵呵,我直接改了库代码.将as操作符直接改成了强制类型转换
 
后退
顶部