Autor Beitrag
Anfänger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP
D3 Prof
BeitragVerfasst: Sa 24.07.04 12:36 
Ich habe eine Schleife geschrieben, die während der gesammten Ablaufzeit laufen soll.
Sie ruft bei bestimmten ereignissen Show und hide auf und soll nach anzeigen der Form1 gestartet werden.

Nun ist die Frage, wo ich sie reinstecken soll.

Beispiel:
Oncreate: geht nicht, da erst das Form1 angezeigt werden soll
OnVisible: geht zusätzlich auch nicht, da in der Schleigfe Hide
und Show benutzt wird.

Es mus doch eine Prozedur geben, die erst auftritt, wenn das Formular vollständig geladen ist!
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Sa 24.07.04 13:49 
Benutze OnShow. Um zu verhindern, dass deine Prozedur dort mehrmals ausgeführt wird, benutze eine globale boolsche Variable mit Startwert "True". Diese fragst du dann in OnShow ab. Wenn sie gesetzt ist, führst du deinen Code aus und setzt die Variable auf "False". Dadurch wird der Code nur einmal ausgeführt.

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 24.07.04 13:53 
Ähm, Windows ist ein ereignisorientiertes Betriebssystem, warum also nicht auch Ereignisse nutzen. Die Zeit der Loops um was abzufragen sind eigentlich vorbei und das uneffizienteste, was man machen kann unter Windows.
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Sa 24.07.04 16:10 
Polling ist aber immer noch notwendig, wenn kein Ereignis generiert wird. Zum Beispiel beim Abfragen des Inhalts eines SharedMemory-Bereiches.

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Sa 24.07.04 17:08 
UC-Chewie hat folgendes geschrieben:
Polling ist aber immer noch notwendig, wenn kein Ereignis generiert wird. Zum Beispiel beim Abfragen des Inhalts eines SharedMemory-Bereiches.

:gruebel: Kann man da nicht eine systemweit einzigartige Message definieren und die per Broadcast verschicken? -> Die andere Anwendung bekommt sie und liest den SharedMemory-Bereich aus.

_________________
JSXGraph
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 24.07.04 17:20 
So würde ich es auch machen. Allerdings würde ich die Mesage nicht ins System broadcasten sondern gezielt abschicken.
UC-Chewie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 531

WinXP
D5 Ent
BeitragVerfasst: Sa 24.07.04 19:26 
War ja nur ein Beispiel. Das ganze würde dann nicht gehen, wenn die Prozesse in unterschiedlichen Window Stations laufen (Dienst <-> Benutzerprozess) oder die Daten über ein Netzwerk kommen. Und sag jetzt nicht, dann sollte man das OnReceive-Event benutzen :roll:

Aber wir werden Off-Topic...

_________________
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

WinXP
D3 Prof
BeitragVerfasst: Sa 24.07.04 21:10 
Ähm.., ich fürchte, dass ist etwas, womit ich mich noch nicht beschäftigt habe, oder ich verstehe euch nicht. :roll:

Also OnShow geht nicht, da ich, wie bereits gesagt dieses Ereignis in der Schleife benutze
(ich schrieb ausversehen OnVisible, mein Fehler).

Den Rest habe ich leider nicht verstanden, währe nett, wenn mir jemand das erklären könnte und vieleicht auch ein Beispiel gibt.