DELPHI中动态加载WINSOCK的问题(50分)

  • 主题发起人 主题发起人 logpie
  • 开始时间 开始时间
L

logpie

Unregistered / Unconfirmed
GUEST, unregistred user!
VB中可以用LOAD Winsock(item)来动态加载SOCKTES
那么DELPHI中用什么来代替LOAD呢?
如果用WINSOCK.Create的话
不就无法使用Winsock(index)了吗?
 
没看明白,winSocket.Create为什么就不能用WinSocket(index)了呢?
好像没有关系啊!
 
var
winsocks:array[0..10] of TClientSocket;

winsocks:=TClientSocket.Create(nil);
 
DELPHI里WINSOCK好象没有VB中的INDEX呀?
那我怎么用WINSOCK[INDEX]呢?
 
到底是什么意思?
 
对VB不了解,你的WINSOCK[INDEX]目的是为了什么?
 
WINSOCK.Create???
在Delphi中有这个类方法吗?
 
真笨,上面jsxjd已经说得很清楚了,用数组实现。VB里面已经自动帮你创建了数组,
所以你才能够使用Winsock[index]的形式!
 
是呀,jsxjd已经说的很清楚了,还有个方法可以动态加载sock连接库:
wsastartup,然后将他绑定到某个端口.bind
 
我指的不会用WINSOCK(INDEX)不是指如何调用WINSOCK数组的方法
而是指如何使winsock自动判断是哪个SOCKET传过来的信息,正如在VB中WINSOCK的DATAARRIVA事件
里使用winsock(index).Getdata一样。
 
VB的那个垃圾控件那有DELPHI的TClientSocket和TServerSocket好用,呵呵,
 
DELPHI的TClientSocket和TServerSocket不用你create一个
create不用考虑
 
你自己拉上去当然不能Create了,晕死。呵呵。。。ServerSocket有保存Index的啊。
 
VB的LOAD Winsock(item)只是表面现象,你看要它是怎么实现的。

load:
if WSAStartup($101, TempWSAData)=1 then
showmessage('StartUp Error!');

s := Socket(AF_INET, SOCK_DGRAM, 0);
unload:
CloseSocket(s);
 
多人接受答案了。
 
后退
顶部