社区
网络及通讯开发
帖子详情
在无窗体的DLL中怎样使用TClientSocket?怎么添加它的事件响应?
kissfire
2003-07-09 11:23:53
能否给一个例子啊?
...全文
60
11
打赏
收藏
在无窗体的DLL中怎样使用TClientSocket?怎么添加它的事件响应?
能否给一个例子啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kissfire
2003-07-11
打赏
举报
回复
现在忙,过几天结帖吧!
kingcaiyao
2003-07-10
打赏
举报
回复
如果ClientSocket中的ClientType为stThreadBlocking,你直接写一个TClientSocket的多线程类就可以了,简单说:
class ClientThread : public TThread
{
private:
AnsiString File;
TClientSocket* ClientSocket;
TWinSocketStream* WskStream;
protected:
void __fastcall Execute();
public:
__fastcall ClientThread(AnsiString IPAddr,
WORD Port, AnsiString file);
};
当然如果ClientSocket为非阻塞模式,那就需要用一DataModule,jishiping说得没错。
pp616
2003-07-10
打赏
举报
回复
哎.dll中就用api来写吧。没这么多麻烦事。
albeta
2003-07-09
打赏
举报
回复
有个函数可以建立一个无界面窗体,忘记哪个函数了,自己查查吧。
kissfire
2003-07-09
打赏
举报
回复
真的不行么?但我使用该DLL的客户程序有窗体啊,应该可以吧?有没有例子啊,我的经验太少了。
猎人66
2003-07-09
打赏
举报
回复
没有窗体不能用TClientSocket,
因为TClientSocket是非阻塞的SOCKET,并且使用的消息方式,
没窗口,就没有消息,
建议使用SOCKET API实现其他方式,如事件,
或者阻塞的SOCKET,
铖邑
2003-07-09
打赏
举报
回复
老兄,ClientSocketConnect是你自己定义的事件函数,如果你将控件放在窗体上,双击时,BCB会自动给你生成相应的函数,但是你如果没有窗体,就要自己写,很简单找一个有窗体的贴一下就可以了。
jishiping
2003-07-09
打赏
举报
回复
没有Form,你可以建一个TDataModule,在DataModule里放TClientSocket。如果TClientSocket的ClientType为ctBlocking,那么年TDataModule都可以不要。
kissfire
2003-07-09
打赏
举报
回复
ClientSocket->OnConnect = ClientSocketConnect;
这样好象不行啊,编译错误,ClientSocketConnect未定义
kissfire
2003-07-09
打赏
举报
回复
好,试一下先,还有什么办法?
铖邑
2003-07-09
打赏
举报
回复
不对,没有窗体也可以用TClientSocket,你可以创建一个线程,利用线程的Handle来接收消息,这些我都试过,没有问题。
如果你的截面有窗体,就更简单了。可以把窗体实例传给DLL里的函数。
比如:
TClientSocket *ClientSocket; // 全局变量
void CreateSocket(TForm *MainForm)
{
ClientSocket = new TClientSocket(MainForm);
ClientSocket->OnConnect = ClientSocketConnect;
……
}
假定,你已经定义了ClientSocketConnect等函数。
手把手教delphi:写你的
dll
文件
http://www.cnblogs.com/lovejsw2000/archive/2008/11/7.html 手把手教delphi:写你的
dll
文件 在Delphi
中
静态调用
DLL
top 调用一个
DLL
比写一个
DLL
要容易一些。首先给大家介绍的是静态调用方法,稍后将介绍动态调用...
Delphi插件创建、调试与
使用
应用程序扩展
对外行人来说,插件仅仅是从外部提供给应用程序的代码块而已(举个例子来说,在一个
DLL
中
)。一个插件和一个普通
DLL
之间的差异在于插件具有扩展父应用程序功能的能力。例如,Photoshop本身并不具备进行大量的图像...
60个BCB(C++Build)初学者 应用实例
1.怎样在C++Builder
中
创建
使用
DLL
2.用C++Bulider在WIN.INI
中
保存信息 3.如何在C++Builder
中
检测硬件 4.C++Builder如何
响应
消息及自定义消息 5.利用C++ Builder开发动画
DLL
6.用C++ Builder 3制作屏幕保护...
C++ Builder 杂项
1.怎样在C++Builder
中
创建
使用
DLL
2.用C++Bulider在WIN.INI
中
保存信息 3.如何在C++Builder
中
检测硬件 4.C++Builder如何
响应
消息及自定义消息 5.利用C++ Builder开发动画
DLL
6.用C++ Builder 3制作屏幕保护程序 7...
Delphi 插件(Plug-ins)创建、调试与
使用
应用程序扩展
对外行人来说,插件仅仅是从外部提供给应用程序的代码块而已(举个例子来说,在一个
DLL
中
)。一个插件和一个普通
DLL
之间的差异在于插件具有扩展父应用程序功能的能力。例如,Photoshop本身并不具备进行大量的图像...
网络及通讯开发
1,316
社区成员
8,873
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章