我正在尝试从一个非常简单的应用程序中创建一个简单的对话框。它是应用程序中唯一的 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);