我是和硬件通讯,源程序如下:
rece:='';
ClientSocket1.Address:='192.168.2.1';
ClientSocket1.Port:=2001;
ClientSocket1.Open;
ClientSocket1.Socket.SendText('aaaaaa');
sleep(1000);    // 为了等待返回的数据,时间足够长了。
rece:=ClientSocket1.Socket.ReceiveText;  // 这里rece一直是空,根本收不到数据。
ClientSocket1.Close;
上面是收不到数据的程序,改成如下程序就能正确接收。rece:='';
ClientSocket1.Address:='192.168.2.1';
ClientSocket1.Port:=2001;
ClientSocket1.Open;
ClientSocket1.Socket.SendText('aaaaaa');
sleep(1000);    
showmessage('aaaa');  // 就加了一个弹出的对话框,而且内容什么随便写什么都没关系。
rece:=ClientSocket1.Socket.ReceiveText;  // 这里rece就能正确收到数据。
ClientSocket1.Close;我觉得好象是在发送的时候要触发一下,一定要点一下鼠标。真是奇怪了。因为我以前做是分开两个按钮做的,一个按钮是连接(也就是ClientSocket1.Open),一个按钮是发送,这样做就没有什么问题,收据全部都能正确发送和接收。现在需要要写在一起,竟然出错了,我现在中间是不能有对话框出现的,急啊!
麻烦各位看看应该怎么解决啊?