Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.946 Beiträge
 
Delphi 12 Athens
 
#12

AW: Nix mit plattformübergreifend...

  Alt 6. Jan 2025, 16:10
Ich habe das gefühl du strukturierst dein Programm wie ein Kommandozeilen-Programm bzw,. Konsolen-Programm.

Die GUI ist aber Ereignis getrieben, bzw. Thread getrieben.

Das Application Framework hat eine Message Queue.

Wenn du "MessageDlg" oder "showmessage" aufrufst ist das Non-Blocking. Das heißt, die Funktion hinterlegt in der Warteschlange, dass du nen Dialog angezeigt haben willst, wie der konfiguriert wird und welcher Code danach ausgeführt werden soll.

Wenn dein For-Schleifen Code abgearbeitet ist und das Ereignis das deinen Code aufgerufen hat abgearbeitet ist, dann wird das nächste Ereignis aus der Warteschleife abgearbeitet, und irgendwann kommen dann deine Dialoge dran.

Der Timer setzt wenn er enabled wird alle so und so viel millisekunden eine Nachricht auf die Warteschlange, dass ein Ereignis ausgeführt werden soll.


Du musst nicht eine "Eingabe-Verarbeitung-Ausgabe-Wiederholen" struktur anlegen, denn das Framework hat das alles schon. Das Framework erlaubt dir Callback Proceduren zu hinterlegen , sogenannte Events.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty ( 6. Jan 2025 um 16:20 Uhr)
  Mit Zitat antworten Zitat