Seite 1 von 1

Eventverarbeitung mit mehreren Fenstern

Verfasst: 16.02.2009 21:05
von Little John
Hallo,

was ist in einem Programm mit mehreren Fenstern besser (und warum!):
Eine Event-Schleife fürs ganze Programm oder eine Event-Schleife pro Fenster (oder noch was anderes)?

Hängt das davon ab, ob ein Fenster modal ist?

Gruß, Little John

Verfasst: 16.02.2009 21:09
von rolaf
Was besser ist ist sicher Geschmacksfrage. Ich verwende bei mehreren Fenstern nur eine gemeinsame Eventschleife. Ist für mich einfacher und übersichtlicher zu handeln.

Verfasst: 16.02.2009 21:36
von AND51
Das geht pro Thread.

Wenn dein Hauptthread mehrere Fenster verwaltet, ist eine Schleife besser. Du kannst ja jederzeit mit EventWindow() prüfen, zu welchem Fenster das Ereignis gehört. DU prüfst ja schließlich mit EventGadget() auch, zu welchem Gadget das Ereignis gehört und hast nicht für jedes Gadget eine eigene Art Schleife.

Da aber jeder Thread sein eigenes Fensterhandling hat, muss bzw. sollte jeder Thread für sich seine eigenen Fenster verwalten, deswegen mein Einleitungssatz "Das geht pro Thread". Das gilt auch, wenn mehrere Threads mehrere Fenster haben. Ereignisse threadübergreifend managen zu wollen, ist als ob du die Hausaufgaben deines Banknachbarn erledigst und er stets deine — da kann auch gleich jeder seine eigenen Aufgaben erledigen.

Verfasst: 16.02.2009 21:56
von PMV
Für jeden Thread, der Fenster erstellt wird eine Eventschleife benötigt.
Mehr Eventschleifen sind kontraproduktiv, da du entweder
- Events der anderen Fenster verschluckst
- alles doppelt und dreifach machen müsstest

Eine einzellne Eventschleife wäre höchstens für Requester oder
Messagefenster eine alternative, sofern diese die Programmausführen
komplet aufhalten dürfen/ sollen. In diesem Fall ist aber vorher jedes bis
dahin aktive Fenster zu deaktivieren oder zu verstecken.

MFG PMV

Verfasst: 17.02.2009 00:09
von Little John
Alles klar, danke für die Antworten!

Gruß, Little John