[OS X] MaxGUI verhindert ausschalten/Neustart des Macs
Übersicht

FWeinbehemals "ich"Betreff: [OS X] MaxGUI verhindert ausschalten/Neustart des Macs |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wer die MaxIDE mal benutzt hat bzw. ein anders MaxGUI Programm am laufen hat und den Mac ausschalten bzw. Neustarten will, wird eine Meldung sehen, das eben jenes Programm das ausschalten bzw. Neustarten verhindert hat.
Meine Fragen wäre jetzt, ob ich dieses Verhalten irgendwie abstellen könnte. Die MaxGUI App Reagiert schon auf APP_TERMINATED, lässt sich also durch ⌘+Q schließen. MfG ich |
||
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Daran liegt es aber nicht.
Mark reagiert auf die Frage des Systems nach dem schließen der App mit Cancel! Die Delegate-Methode befindet sich im Modul brl.system, genauer in system.macos.m. Dort die Methode applicationShouldTerminate mit NSTerminateNow beantworten. Dies kann aber dazu führen, dass du den Event APP_TERMINATE aushebelst. Ein gescheite Lösung dazu habe ich aber jetzt auch nicht parat. Dazu benötigst du jedenfalls NSTerminateLater und die BlitzMax-Funktion "End" müsste, die Cocoa Funktion applicationTerminateReply auslösen. |
||
- Zuletzt bearbeitet von d-bug am Mo, Apr 23, 2012 18:48, insgesamt einmal bearbeitet
FWeinbehemals "ich" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die sehr gute Antwort. Wenn ich das Richtig verstehe, müsste ich auf den Call von mm mit NSTerminateLater antworten und dann in der BlitzMax App nach dem AppTerminate gefeuert wurde mit [NSApp replyToApplicationShouldTerminate:YES]; die App beenden.
Kann ich Objective-C denn auch "Inline" benutzt. Oder ist für sowas wirklich ein extra Module bzw. eine Anpassung der brl.system notwendig. MfG Ich (Freu mich schon auf den vernünftigen Cocoa Wrapper.) |
||
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Inline funktioniert indem du libobjc importierst. Dann ein paar Funktionen der Lib wrappen und so weiter und so weiter... Nilium hat das mal gemacht, allerdings ist das alles eher kompliziert.
Ein extra Modul wäre fatal! Dann müsstest du nämlich die App-Delegate von Mark überschreiben und alles was er darin tat in deinem Modul simulieren, bzw. abschreiben. Machst du das nicht wäre alles verloren. Sprich du hättest kein Menü mehr, KeyDown usw. würden nicht mehr funktionieren, kein Event würde mehr gepostet... usw... usw... Es ist einfacher das brl.system Modul auf deine Bedürfnisse anzupassen. |
||
FWeinbehemals "ich" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, danke für die Information. Werde es dann mal so machen.
MfG Ich |
||
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group