※ ChatGPTを利用し、要約された質問です(原文:Sleepを使って処理を一時停止させたいのですが・・・)
Sleep関数のエラーを解決する方法
このQ&Aのポイント
Sleep関数を使って処理を一時停止させたいが、エラーが発生する。
Sleep関数を使わずにビルドすることはできるが、どうしてもSleepを使いたい。
MessageBoxAやShow関数に関するエラーメッセージが表示される。
Sleepを使って処理を一時停止させたいのですが・・・
現在VisualStudio.NET2003でC++のプログラムからブラウザを呼び出すプログラムを作っているのですが、他の関数のところでSleep関数を使って処理を一定時間停止させたいのですが、エラーがでてうまくいきません。Sleepを使わずにインクルードからwindows.hを外せばビルドできるのですが・・・。どうしてもSleepを使わなければいけないので。
どのように解決したらよいのでしょうか?
エラーの内容は以下の通りです。
error C2039: 'MessageBoxA' : 'System::Windows::Forms' のメンバではありません。
error C3861: 'Show': 識別子は、引数依存の照合を使用しても見つかりません。
error C2653: 'MessageBoxA' : 識別子がクラス名でも名前空間名でもありません。
error C3861: 'Show': 識別子は、引数依存の照合を使用しても見つかりません。
とでます。
以下にエラーが出ている箇所のソースをのせます。
int call_browser(){
System::String * target= "http://www.microsoft.com";
try
{
System::Diagnostics::Process::Start(target);
}
catch (System::ComponentModel::Win32Exception * noBrowser)
{
if (noBrowser->ErrorCode==-2147467259)
System::Windows::Forms::MessageBox::Show(noBrowser->Message); // エラー!!
}
catch (System::Exception * other)
{
System::Windows::Forms::MessageBox::Show(other->Message); // エラー!!
}
return 0;
}