GUISetOnEvent vs. GUIGetMsg

  • Hi,

    wüsste gerne mal was die Vor-/Nachteile von GUISetOnEvent im Gegensatz zu GUIGetMsg (also Schleife mit Auswertung von GUIGetMsg) sind.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • was in diesem Thread noch fehlt, aber meiner Meinung nach der größte Vorteil ist, dass bei OnEventMode die GUI immer ansprechbar ist.
    Das ist bei allen GUI's eigentlich generell das wichtigste deswegen läuft die GUI in normalen Programmiersprachen auch immer in einem extra Thread.

    MfG

  • ja, aber auch nur, wenn Du keinen:

    [autoit]

    Sleep(60000)

    [/autoit]

    einbaust :rofl:

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Auch ohne Sleep ist die GUI nicht immer über Events erreichbar.
    Längere Funktionen können Events auch komplett blocken.

    Grundsätzlich liegen beide bei der CPU Auslastung (Und Auslastung an sich)
    relativ gleich. OnEvent ist ein Stück mehr Code denke ich, wirkt aber "schneller".

    Denke mal jeder Anfänger arbeitet mit GetMsg & wechselt später
    wenn er weiß seinen Code zu sortieren auf OnEvent.

  • Seh ich genauso...

    Hab nen Projekt momentan mit 1500 Zeilen und 3 Fenstern...
    40 Button... Das wär echt ne verrenkung, wann man alles mit GetMsg ansprechen würde... Habs mal versucht, sah scheiße aus und hat sich nur schwer "gelöst"...

    Also ICH liebe GuiOnEventMode ...:)

  • Egal wie, wenn man jetzt her gehen würde und in einer andere Sprache, z.B. Java oder C++ eine GUI schreibt die nicht in einem extra Thread läuft und dadurch nicht immer ansprechbar ist würds jedem halbwegs erfahrenen Programmierer die Zehnägel hochbiegen.

    Dabei gehts meiner Meinung nach auch einfach ums Prinzip und einen guten, standardmäßigen aufbau einer GUI(-> Design Pattern).

    Und wie auch schon Sen gesag hat: Sobald eine Funktion mal etwas braucht steht die GUI währenddessen still und in jedem etwas größeren Skript ist das wirklich keine Seltenheit.

    MfG

  • Also ich verwende oft beide Möglichkeiten in einem Skript. Zum Beispiel bei der großen Haupt-GUI nehme ich OnEvent und wenn ich eine kleine GUI öffne, die man dann erst schließen muss damit die Haupt-GUI wieder Enable ist, nehme ich GUIGetMsg. Vergleichbar mit Word, wenn man dort "Seite einrichten" öffnet.