Beenden beim Starten

  • MSG_META_QUIT musst du an die Application senden. In OPEN_APPLICATION würde ich forceQueue verwenden.
    Code aus pcgeos\Appl\EduApps\mflash\mathflsh.goc, Zeile 988

    Code
            @send ,forceQueue MFlashApp::MSG_META_QUIT() ;

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • 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…

    There are two rules in life:
    1. Never give out all of the information.

  • 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.

    Code
    MSG_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

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • 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.