编程论坛
注册
登录
编程论坛
→
VB6论坛
vb6.0 如何多个form窗体共用一个winsocket控件
root2021
发布于 2021-10-18 21:35, 1420 次点击
在第一个form窗体中放winsocket控件,用来连接,其他form共同使用这个winsocket控件进行发送和接收
8 回复
#2
风吹过b
2021-10-19 08:27
要求那个窗体在程序运行过程中一律不能关闭。
在其他窗体或模块中,使用 窗体名.控件名 来引用控件。
如果需要创建一个其他窗体或模块可以调用的函数或过程,使用 public 定义,调用方式也是同样使用 窗体.函数 名进行调用。
#3
独木星空
2021-10-19 13:56
回复 楼主 root2021
上来就提了个棘手的问题。我前不久才下载了VB6,对于一切问题都感到好奇,却没有好办法,只能向大家学习的份。
#4
root2021
2021-10-19 16:53
回复 2楼 风吹过b
谢谢回复! 在第二个窗体中用form1.Winsock1.SendData (data) 可以将数据发送出去,但在Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)中无法接收到返回的数据,其中winsock1_DataArrival也无法写成Form1.Winsock1_DataArrival来用
#5
root2021
2021-10-19 16:59
回复 2楼 风吹过b
在第二个窗体中用 Winsock1=form1.Winsock1 也不行
#6
风吹过b
2021-10-20 08:49
接收到的数据,还是在原窗体的响应过程中发生,只能在原窗体里接收数据后,再调用对应的模块进行处理。
#7
吹水佬
2021-10-20 09:11
用第一个form(winsocket)专门处理网络通信,其他form通过与第一个form通信(消息)来请求或获取数据。
#8
root2021
2021-10-20 14:10
@风吹过b、@吹水佬 感谢!也就是说只能form1直接接收和发送数据,form2不行!form2要想发送和接收数据必须要经过form1才行(使用变量或者是模块),能不能这样理解。
#9
cwa9958
2021-10-20 15:18
就是这个意思。
因为控件在form1上。
1