TProcessInformation

解決


st-take  2006-05-08 18:41:24  No: 21420

別EXEを起動させようと書籍のサンプルプログラムをコピーしたんですが、
コンパイルすると
TProcessInformation;
で未定義エラーが出てしまいます。
何が原因でしょうか?

usesには、ShellAPIを追加してます。

procedure TFormWaitEnd.ButtonCreateProClick(Sender: TObject);
var
  ExeSuccess: Boolean;
  SI: TStartupInfo;
  PI: TProcessInformation;←ココで未定義エラー
begin
  GetStartupInfo(SI);
  ExeSuccess := CreateProcess(nil, PChar(Edit1.Text), nil, nil, False,
                  CREATE_DEFAULT_ERROR_MODE, nil, nil, SI, PI);
  if not ExeSuccess then
  begin
    ShowMessage(Edit1.Text + ' を起動できませんでした。');
    Abort;
  end;
  try
    // 呼び出し元のフォームを無効にする
    FormWaitEnd.Enabled := False;
    // WaitForSingleObjectで待機する
    while WaitForSingleObject(PI.hProcess, 0) = WAIT_TIMEOUT do
      Application.ProcessMessages;
    ShowMessage('終了しました。');
  finally
    FormWaitEnd.Enabled := True;
  end;
end;

ちなみに、サンプルプログラムをコンパイルすると実行できました。


igy  2006-05-08 19:07:52  No: 21421

usesに Windowsはありますか?


st-take  2006-05-08 20:05:39  No: 21422

ありがとうございます。
データモジュール使ってたのでWindowsをusesしてませんでした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加