vb中用mscomm控件做通信时,建立了两个窗体,如何让窗体1能够发送窗体2的数据?求助高手解答

我在form1窗体上添加了mscomm控件,(在form1上做通信是正常的,均能发送数据接收数据),现在我添加了另一个窗体form2,此窗体上我添加了一个按钮comman... 我在form1窗体上添加了mscomm控件,(在form1上做通信是正常的,均能发送数据接收数据),现在我添加了另一个窗体form2,此窗体上我添加了一个按钮command1.下面是我form2窗体的代码:
Private Sub Command1_Click()
ARTout(0) = &H1: ARTout(1) = &H3: ARTout(2) = &H10: ARTout(3) = &HB
ARTout(4) = &H0: ARTout(5) = &H1: ARTout(6) = &HF1: ARTout(7) = &H8
form1.text8 = ARTout(6)‘在窗体1上可以看到数据已传递过去。
form1.MSComm1.output = ARTout
form1.Show
当然数组我声明的是全局数组。我在窗体1上可以看到数据已传递过去。可是为什么不见发送有接收数据呢?是我的代码错了吧?请高人指点 在线等
展开
 我来答
bz144
2014-01-09 · TA获得超过1825个赞
知道小有建树答主
回答量:1096
采纳率:89%
帮助的人:266万
展开全部
你可以在form1中进行通讯操作,通讯数据直接引用form2中的数据就可以了,最好不要调用其它窗体中的通讯控件。如果调用的话,最好是先关闭端口,重新设置再打开端口,清缓存,通讯后关闭端口。各窗体调用通讯控件,处理不好会有时序上的冲突。
fqwyw
2014-01-09
知道答主
回答量:3
采纳率:0%
帮助的人:2.6万
展开全部
你的接收代码是怎样的,发送的代码没错,
端口要打开?
使用OnComm事件来自动接收.
可以的话,提供完整的代码才好查看.
追问
发送和接收都是没有错误的,没有添加form2之前,用的是好的,现在只是想从form2窗体上传递过去一组数据,可就是没有接收也不知道有没有发送过去
追答
以下是窗口2代码
Private Sub Command1_Click()Form1.MSComm1.PortOpen = TrueForm1.MSComm1.Output = Form2.Text1.TextForm1.Timer1.Enabled = TrueCommand1.Enabled = FalseEnd Sub

Private Sub Form_Load()Text2.Text = "接收"
Text1.Text = "发送"End Sub
以下是窗口1代码
Option Explicit
Private Sub Command1_Click()MSComm1.PortOpen = TrueMSComm1.Output = Text1.TextTimer1.Enabled = TrueCommand1.Enabled = FalseEnd Sub

Private Sub Form_Load()
MSComm1.InputMode = comInputModeText
Timer1.Interval = 1000Timer1.Enabled = FalseLoad Form2Form2.Show
Text2.Text = "接收"
Text1.Text = "发送"End Sub

Private Sub Timer1_Timer()Text2.Text = MSComm1.InputForm2.Text2.Text = Text2.TextTimer1.Enabled = FalseMSComm1.PortOpen = FalseCommand1.Enabled = TrueForm2.Command1.Enabled = TrueEnd Sub
以上代码的可以实现
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式