首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

再问控件封装到DLL中的有关问题

2012-03-31 
再问控件封装到DLL中的问题控件封装到DLL中,原来控件的事件怎么处理呢?比如TIdTCPServer1控件的事件:void

再问控件封装到DLL中的问题
控件封装到DLL中,原来控件的事件怎么处理呢?比如TIdTCPServer1控件的事件:
void __fastcall TForm::IdTCPServer1Execute(TIdPeerThread *AThread);//这是窗口程序中的声明,在DLL怎么声明呢?


[解决办法]
VCL组件的事件处理函数,必须是一个类成员函数,你自己定义一个类,然后在其中加入一个成员函数,形如:
void __fastcall IdTCPServer1Execute(TIdPeerThread *AThread);

然后创建一个自定义类的对象,再将TIdTCPServer控件的OnExecute事件指向这个对象的IdTCPServer1Execute方法就行了。
[解决办法]
void __fastcall myIdTCPServer1Execute(TIdPeerThread *AThread);

给控件赋值
this->IdTCPServer1->OnExecute =myIdTCPServer1Execute;

热点排行