delphi循环中等待问题~~(50)

  • 主题发起人 主题发起人 husion
  • 开始时间 开始时间
H

husion

Unregistered / Unconfirmed
GUEST, unregistred user!
关于循环中等待问题...procedure MyThreadFuncOutgoon();//循环发送函数begin
A();//询问1 B();//询问2 C();//询问3 D();//询问4end;
procedure TForm1.BitBtn2Click(Sender: TObject);//按键等待发送值begin
发送值;//这里如何写?end;
procedure TForm1.comm1ReceiveData(Sender: TObject;
Buffer: Pointer;//接收数据 BufferLength: Word);
begin
处理询问1();
处理询问2();
处理询问3();
处理询问4();
end;
我是用spcomm控件实现串口发送与接收,我想按下按键等待发送后,在循环发送询问3,接收数据处理询问3()后,再发送按下的发送数据,请问我的按键等待发送应该怎么写?把我所有分数都压上了:)
 
描写不够明确 不懂哦,肯定要加变量来区别的!
 
procedure TForm1.BitBtn2Click(Sender: TObject);这是一个按键,但我不想按这个按键就立即发送,我想等到"处理询问3()"后再发送..我的按键发送应该怎么写?
 
vardo
SendFlag:Integer;procedure TForm1.BitBtn2Click(Sender: TObject);//按键等待发送值begin
do
SendFlag:=1;
end;
procedure TForm1.comm1ReceiveData(Sender: TObject;
Buffer: Pointer;//接收数据 BufferLength: Word);
begin
处理询问1();
处理询问2();
处理询问3();
ifdo
SendFlag=1 then
begin
发送值;
do
SendFlag:=0;
end;
处理询问4();
end;
 
to znxia:我在按键等待发送值函数用了以下:procedure TForm1.BitBtn2Click(Sender: TObject);//按键等待发送值begin
DelayReceive();
end;
procedure DelayReceive();
begin
repeat Application.ProcessMessages;
until (SendOrderBuf=SendOrder_0);
end;
procedure TForm1.comm1ReceiveData(Sender: TObject;
Buffer: Pointer;//接收数据 BufferLength: Word);
begin
处理询问();
SendOrderBuf=SendOrder_0;//接收完数据标志end;
但现在的问题是:我按下按键等待发送值,没等到SendOrderBuf=SendOrder_0,值就发出去了,这是什么问题,调了一天的程序了:)请高手靓相..
 
我想问下非技术问题,是不是因为我分数不够,怎么帖子的回复这么少人,DFW的高手还是不少吧?! :)
 
procedure TForm1.comm1ReceiveData(Sender: TObject;
Buffer: Pointer;//接收数据 BufferLength: Word);
begin
[red]处理询问();[/red]//[blue]这里怎么判断接收完毕[/blue] SendOrderBuf=SendOrder_0;//接收完数据标志end;
 
to de410:[red]处理询问();//[/red][blue]这里怎么判断接收完毕[/blue]我是通过SendOrderBuf=SendOrder_0;//[gold]接收完数据标志[/gold]判断接收完毕的..发送按键是以下:procedure TForm1.BitBtn2Click(Sender: TObject);//按键等待发送值begin
DelayReceive();
[red]发送值();[/red]end;
现在问题是没等到SendOrderBuf=SendOrder_0,发送值就发出去..我的等待函数是以下:procedure DelayReceive();
begin
repeat Application.ProcessMessages;
until (SendOrderBuf=SendOrder_0);
end;
 
有没有可能DelayReceive执行前,这2个变量值是相同的?我们没看到这2个变量的初始值啊。你给的代码不够完整,不好分析。
 
多人接受答案了。
 
后退
顶部