[三菱] VB高手帮我看看这段程序有什么问题?

[复制链接]
查看2499 | 回复8 | 2007-5-20 09:47:00 | 显示全部楼层 |阅读模式

一个串行通信的例子 我把书上的例子输入 居然不行

Private Sub Form_Load()
Dim i%
cmbno.Clear
For i = 1 To 255
cmbno.AddItem CStr(Hex(i))
Next i
cmbno.ListIndex = 1
cmbcom.Clear
cmbcom.AddItem "com1"
cmbcom.AddItem "com2"
cmbcom.ListIndex = 0
cmdstart.Enabled = False
End Sub

编译的时候老是显示“未找到方法或者数据成员”cmbno.ListIndex和cmbno.Clear,cmbcom.ListIndex相继出错

不知道是怎么回事?

谢谢大家

loveplc | 2007-5-20 11:15:00 | 显示全部楼层

cmbno

cmbcom

cmdstart

在那里定义的

gmg320 | 2007-5-20 15:00:00 | 显示全部楼层

我设置了两个combobox一个命名为cmbno 另一个叫cmbcom

然后cmdstart是个commandbutton他的名字叫cmdstart

都是定义对象的时候就起的名字

我是新手

好多东西不懂

谢谢!!!!

gmg320 | 2007-5-20 15:41:00 | 显示全部楼层

还有这个子程序

Declare Function GetTickco u* nt Lib \"kerne132\" () As Long

Sub timedelay(t As Long)
\'Time delay sub.Unit=mSec
Dim tt&
tt = GetTickco u* nt()
Do
DoEvents
Loop Until GetTickco u* nt() - tt >= t
End Sub
\'等待RS字符串返回
\'Comm是通信控件的名称
\'RS是欲等待的字符
\'DT是最长的等待时间
\'正常时返回值是所得的完整字符串,不正常时返回值是空字符串

Function waitrs(comm As MSComm, rs As String, dt As Long) As String
Dim buf$, tt As Long
buf = \"\"
tt = GetTickco u* nt
Do
buf = buf & comm.Input
Loop Until InStr(1, buf, rs) > 0 Or GetTickco u* nt - tt >= dt
If InStr(1, buf, rs) > 0 Then
waitrs = buf
Else
waitrs = \"\"
End If
End Function

编译的时候说找不到kerne132,不知道kerne132是什么东西

我在我的windows/system32目录下找到了kerne132.dll

谢谢高手

beijinren | 2007-5-21 11:47:00 | 显示全部楼层
这是API函数调用,你没有声明,就会出现这种情况的
beijinren | 2007-5-21 11:50:00 | 显示全部楼层

声明

Private Declare Function GetTickco u* nt Lib \"kernel32\" () As Long

beijinren | 2007-5-21 11:53:00 | 显示全部楼层
怎么变化了![em06][em06]
gmg320 | 2007-5-22 09:45:00 | 显示全部楼层

谢谢高手

kingwang1678 | 2007-8-14 17:50:00 | 显示全部楼层
谢谢高手
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则