Я пытаюсь собрать простой пакет сообщений об ошибках. Если моя основная программа дает сбой, она сохраняет журнал сбоев, а затем запускает программу-репортер. Программа-репортер спрашивает пользователя, может ли она отправить мне журнал сбоев, а затем делает это. Я использую NSRunAlertPanel для создания основного окна сообщения.
По какой-то причине это окно сообщений отображается скрытым под любыми другими окнами, которые могут быть открыты. Запустите основной пакет из окна Finder, оно отображается сверху, вынудите его аварийно завершить работу, окно репортера отобразится на позади окна Finder.
Почему это происходит и как это можно решить?
Минимальный тестовый набор:
#import <AppKit/AppKit.h>
int main(int a, char* av) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSApplication* q = [[NSApplication alloc] init];
NSRunAlertPanel(@"Hello", @"Aloha", @"OK", nil,nil);
[pool release];
}
Построен с:
g++ test.mm -framework AppKit && ./a.out