非常に単純なアプリケーション内から単純なダイアログ ボックスを作成しようとしています。これは、アプリケーションで唯一の UI です。しかし、RunStandardAlert を呼び出すと、ボタンが応答しなくなり、関数呼び出しが返されません。アプリの他の場所で Carbon または Cocoa を使用していません。
これは、Carbon チュートリアルからの、私が使用しているコードです。これを main() 関数から直接呼び出していますが、InstallEventLoopTimer() でイベント ループ タイマーを登録した後、RunApplicationEventLoop() の呼び出しも試みました。ダイアログ ボックスが機能するために必要なセットアップを行うアプリケーション イベント ループを実行します (ブードゥー!)。
DialogRef theItem;
DialogItemIndex itemIndex;
CreateStandardAlert(kAlertStopAlert, CFSTR("Oh dear, the penguin’s disappeared."),
CFSTR("I hope you weren’t planning to open source him."), NULL, &theItem);
RunStandardAlert (theItem, NULL, &itemIndex);