[OS X] MaxGUI verhindert ausschalten/Neustart des Macs

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

FWeinb

ehemals "ich"

Betreff: [OS X] MaxGUI verhindert ausschalten/Neustart des Macs

BeitragSa, Apr 21, 2012 11:52
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Apr 23, 2012 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
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
 

FWeinb

ehemals "ich"

BeitragMo, Apr 23, 2012 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Apr 23, 2012 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
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.
 

FWeinb

ehemals "ich"

BeitragMo, Apr 23, 2012 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group