え〜と、前々からどうも動かすとCPU 100%食う自作プログラムがあったのですが‥‥

procedure WaitForAppl(AHandle : THandle);
var
  exitCode: DWord;
begin
  Repeat
    exitCode := WaitForSingleObject(AHandle, 0);
    Application.ProcessMessages;
  Until exitCode <> WAIT_TIMEOUT;
end;



procedure WaitForAppl(AHandle : THandle);
var
  exitCode: DWord;
begin
  Repeat
    exitCode := WaitForSingleObject(AHandle, 50);
    Application.ProcessMessages;
  Until exitCode <> WAIT_TIMEOUT;
end;

にしたら格段に負荷が下がりましたよと。


後ろの0とか100はms単位なので、調整の結果1000で十分すぎと言う事が判りました。
大体、正常終了したらタイムアウトの数値関係無しに即戻ってくるんだし‥‥


って言うか、タイムアウトの数値が長いと負荷かかると思ったら短い方が負荷だったららしいです。なんだか。