Was gibt es zu beachten, wenn ich in der MSG_GEN_PROCESS_OPEN_APPLICATION die Anwendung gleich wieder beenden möchte? Die MSG_META_QUIT sich selber senden kommt bis jetzt bei mir nicht gut -> es hängt...
Beenden beim Starten
-
-
-
Bei mir will das leider nicht. Mit und ohne forceQueue, direkt an LadderApplication oder an application.
Ich frage mich halt, ob man das Ganze wirklich ohne direkt anschliessendem return und / oder @callsuper ausführen kann? In meinem Fall will ich ja den Rest nicht weiter abarbeiten.
-
Im Zweifel zuerst in Open-Application einen einfachen Timer erstellen, der in Sekundenbruchteilen eine Quit-Message verschickt, und gleich danach in Open das @callsuper aufrufen…
-
Danke für den Tipp Jörg. Das würde sicher auch funktioneren.
Meine aktuelle Lösung ist, die MSG_META_QUIT an den Prozess zu senden... Damit wird die Anwendung dann beendet und es scheint keine Nebenwirkungen zu haben.
Die OPEN_APPLICATION läuft bei mir auch über den Prozess-Thread. Muss am Schluss einmal meinen ganzen Code auditieren... Da sind sicher noch viele falsche / veraltete Annahmen vorhanden.
-
Meine Erinnerung besagt mir, dass man die OPEN_APPLICATION und die CLOSE_APPLICATION entweder über den Prozess- oder das Applikations-Objekt verwenden kann. Ich habe auf Grund eine Empfehlung damals den Prozess verwendet.
Was ist der heutige Stand der Erkenntnis? Welches sind die Vor- / Nachteile?
-
Ich kenne OPEN/CLOSE Application nur als handler für das Prozessobjekt. MSG_META_QUIT wir m.E. and AppObj gesendet.
CodeMSG_META_QUIT void MSG_META_QUIT(); This message, when sent to a GenApplication object, initiates the shutdown sequence for the application. All affected objects are notified. ... Source: Unrestricted. If you need to send MSG_META_QUIT within your MSG_GEN_PROCESS_OPEN_APPLICATION handler, please follow the guidelines illustrated above. Destination: GenApplication object (note that this message has aliases so that it may be sent to a Process object, or any object).
Quelle: pcgeos/TechDocs/html/SysObjects/Meta/MetaClass_6.htm
-
Irgenwie schon ein wenig komplex...
Ich habe es nun über eine Error-Variable gelöst und sende am Schluss nach dem @callsuper() die Message an das Applikations-Objekt.
-
Wenn es durch swat geht ist es gut