请教关于ACTIVEX控件中的SOCKET编程问题(100分)

  • 主题发起人 主题发起人 灰云1
  • 开始时间 开始时间

灰云1

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在要编写一个ACTIVEX控件,控件被调用后动态产生一个CLIENTSOCKET,向指定的SERVER发消息。
但 MySock := TClientSocket.Create(TCompnnet) 这句出问题了,
一般TCompnent参数这里都是填Self的,但DELPHI要求TCompnent是个能显示在设计窗口的对象,我的非可视ACTIVEX对象不行,怎么办??难道我一定要用WINAPI SOCKET吗?

请诸位大侠赐教!!!

 
MySock := TClientSocket.Create(nil);
activex里面这么做没有问题,我试过

--
http://www.8421.org
 
Create语句中的TComponent的意思是,TComponent作为一个内存容器来"装"你建立的部件,
当容器释放时,被它"装"的东西自然也就释放了,不用显式地Free;
因此,在不从TComponent继承的ActiveX控件中可以使用楼上老兄说的,传nil进去。
不过为了防止内存泄漏,最好"记住"你的TClientSocket,并在适当的时候Free它
有以下三个方法
1、在initialization段建立
在finalization 释放
2、重载控件的Create方法和Destroy方法
分别在那两个地方建立和释放。
3、在你自己认为正确的地方建立和释放
 
后退
顶部