帮帮小弟!有个实践问题请大家帮忙解决啊!(100分)

  • 主题发起人 我就是一个问题
  • 开始时间

我就是一个问题

Unregistered / Unconfirmed
GUEST, unregistred user!
MSComm1.Output = outstring
Time_out = Timer

'判断通讯错误
Do
If Timer > (Time_out + 1) Then
ERROR_COM = True
Else
ERROR_COM = False
End If
DoEvents
Loop Until ((MSComm1.InBufferCount >= 11 + 4 * Lengh) Or (ERROR_COM = True))
Instring = MSComm1.Input
上面一段是用VB控件写的通信发送和接受数据之间等待的过程!
谁知道用DELPHI怎么实现这个功能啊!
 
大家谁有能力给小弟讲讲吧!我不知道怎么给大家加分啊!如果知道将全部的分送上!
 
翻译每问题,但是Timer是什么呢?
 
不知能否帮到你[:)]
procedure TForm1.Button1Click(Sender: TObject);
begin
MSComm1.Output := OutString;
MSComm1.Time_out := Timer;

while not ((MSComm1.InBufferCount >= 11 + 4 * Lengh) or ERROR_COM)
begin
ERROR_COM := Timer > (Time_out + 1);
DoEvents;
end;
Instring := MSComm1.Input;
end;
 
说实话就是没有在整个的源码中看到这个TIME的声明啊!!!所以不知道怎么变成DELPHI啊
 
(Time_out + 1)这句什么意思还有DoEvents这个也都不能编译啊!可能我拿到的源码不全把!
 
是呀,MSComm控件挺容易的,不用看那个VB的DEMO,不行就自己写吧。
注:个人认为SPCOMM控件更好一些
 
其实别的地方我也都是自己写的!就是通信发送和接收数据之间的等待代码我不知道怎么写啊!想了N种方法什么计时器,开一个线程, sleep()....直到接收到该数据为止.... 都想了就是效果不理想!不知道你有没有好的办法啊!
 
WaitForSingleObject可以解决你的问题
 
这个东西我真的没有使用过!具体怎么使用能以上面的例子具体写一下吗?
 
http://www.delphibbs.com/delphibbs/dispq.asp?LID=1119700
[:)]
 
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=1568975
 
小弟qq:17974477希望上面的大哥加我,谢谢你的热心帮助啊
 
我家里的机器只有MSN:RyanQince@hotmail.com
 
哦,没有办法了!我还没有MSN啊等我有了一定加入你的!多谢你的帮忙啊!
 
呵呵,不好意思,明天吧,公司里的机器有QQ。[8D]
 
好的!等你的加入啊!
 
别用MSCOMM,activeX的东东,你发布的时候也要带上,还有进行注册,麻烦在后头。
MSCOMM只能支持16个串口,如果你是多串口卡的话,就不行了。
用SPCOM吧,
或着用我改进的控件吧。email: adamdog@163.net
 
楼上的大哥能联系小弟吗?
 
是我吗?
上午用QQ联系了,不过你没和我说话 :(
 
顶部