小编Jan*_*akl的帖子

调用ShowMessage时会发生什么?

我正在研究通过COM端口与另一台设备通信的项目.对于传入数据,我使用VaComm1RXchar事件,在那里我将消息存储到数组中并增加msgIndex,它表示消息数.

然后我调用我使用此消息的函数.

在这个函数内部是这个超时周期,我等待这个消息:

  while MsgIndex < 1 do
  begin
  stop := GetTickCount;
  if (stop - start)> timeout then
    begin

      MessageBox(0, 'Timeout komunikace !', 'Komunikace', MB_OK);
      exit(false);
    end;
    sleep(10);
  end;
Run Code Online (Sandbox Code Playgroud)

对我来说奇怪的是,当它像上面这样时,它总是以超时结束.但是当我在此之前放置一个ShowMessage('Waiting')然后它正确地工作.

有谁知道是什么原因造成的,我该如何解决?提前致谢!

delphi delphi-xe

2
推荐指数
1
解决办法
433
查看次数

标签 统计

delphi ×1

delphi-xe ×1