读书人

dll库里边可以用控件吗

发布时间: 2012-10-23 12:12:22 作者: rapoo

dll库里面可以用控件吗?
在dll中实现串口和网络通讯,可以用串口和网络的控件吗,比如indy这些.

[解决办法]
可以。包括可视控件都可以。
[解决办法]
你可以将这些组件放在DataModule上,这样就不用自己管理组件的生命周期。。。也可以在非可视环境中直接用代码创建,但是生命周期要自己管理。
[解决办法]
组件完全可以在DLl中使用。
new delete 都可以 ,窗体Form都可以用
[解决办法]
控件看你定义在哪里,放在Form或DataModule上,那控件的声明周期就是frm和dm的声明周期

至于frm和dm,就看dll里你如何创建,销毁。
LoadLibrary 到 FreeLibrary 之间,对应的就会在DllEntryPoint函数中执行,

int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
一般情况下建议你使用增加自定义函数initDLL和FreeDLL 来控制初始化及释放
[解决办法]
当然可以,只要你在建库的选项时勾选支持VCL
[解决办法]
要用进度条,建立个窗体吧
总体来说是 LoadLibrary 到 FreeLibrary 在这之间。

[解决办法]
idtcpclnt1 = new TIdTCPClient(NULL); 应该可以了
[解决办法]
是win32DLL,其他程序都可以调用。只要发布的时候独立编译就可以了
[解决办法]

探讨
如果放到DataModule上面,是不是周期在 LoadLibrary 到 FreeLibrary 之间?

还是另外自己写两个函数来new 和 delete.


如果没有窗体,那new的时候this这里要填什么呢;

idtcpclnt1 = new TIdTCPClient(this);

读书人网 >C++ Builder

热点推荐