spcomm接收问题如下://showmessage('123');//如果加上此句, cmd的值为true,不加cmd的值为false,我不想加上此句,但是又要收到数据后cmd值为true,没收到数据后cmd值为false,如何解决?!代码:
全局变量
var
cmd;procedure Tfrmtest.btntestClick(Sender: TObject);
begin
if rbtndc.Checked then
viewstr:='';
cmd:=false;
form1.findmodel1; //发送数据过程,收到数据后cmd值为true否则为false //showmessage('123');//如果加上此句, cmd的值为true,不加cmd的值为false,我不想加上此句,但是又要收到数据后cmd值为true,没收到数据后cmd值为false,如何解决?! if not cmd then
begin
Memotest.Lines.Add(' '+'通信故障'+' '+datetimetostr(now));
end else
Memotest.Lines.Add(' '+'通信正常'+' '+datetimetostr(now));
end;
全局变量
var
cmd;procedure Tfrmtest.btntestClick(Sender: TObject);
begin
if rbtndc.Checked then
viewstr:='';
cmd:=false;
form1.findmodel1; //发送数据过程,收到数据后cmd值为true否则为false //showmessage('123');//如果加上此句, cmd的值为true,不加cmd的值为false,我不想加上此句,但是又要收到数据后cmd值为true,没收到数据后cmd值为false,如何解决?! if not cmd then
begin
Memotest.Lines.Add(' '+'通信故障'+' '+datetimetostr(now));
end else
Memotest.Lines.Add(' '+'通信正常'+' '+datetimetostr(now));
end;
解决方案 »
- 高分求问,Lookup问题!!!!!!!!!!!!!
- Brush.Style的问题,求助!
- 请教在输入用户名及密码进行登录过程SQL服务器的时候,如何出现提示"正在登录"?
- 我用windows.beep(100,200)为什么编译器告诉我[Error] Undeclared identifier: 'windows'
- 有没有不错的,CGI空间??要钱不要钱都可以。
- 一个菜鸟问题,用DELPHI的INSTALL SHIELD EXPRESS 做安装程序时但我不知道它在哪在线等待答对有分
- 哪里有vfw.pas这个单元下载啊?
- WIN CE和WINDOWS有什么区别?用DELPHI写的程序能在WIN CE运行吗?
- delphi中new开辟的内存在form关闭后会不会主动释放?
- 获取wan口IP
- D2009 dbexpress 连接MYsql中的一点发现
- ehlib 设置为过滤 但query.close 或者 open 另一个查询 会报错:list index out of bounds(1) 如何解决 ?
你可以通过
接收到数据后来设置cmd啊
你可以通过
接收到数据后来设置cmd啊
关键是能不能在上面的事件里完成呢?
有没有解决办法呢?
简单的你可以加一个延时值,不停的轮询CMD是否做改变.如果超过那个值没有反应就是接收失败.
延时函数也用了sleep(10000),延时10秒够了吧!但还是不行。
但是只要用showmessage()代替sleep()就行!为什么?
我也遇到过你这样的问题的!后来用Timer来解决了!你的Timer调成0.5秒也会比你Sleep(1000000)有用的!