![]() |
Funktion / Prozedur warten lassen bis...
Hallo,
wie kann ich es realisieren, dass eine eigene Funktion oder Prozedur auf ein Ergeinis wartet... Zum Beispiel auf das Ändern eines Edit-Feldes oder den Click auf einen Button? Danke! |
Re: Funktion / Prozedur warten lassen bis...
Hallo,
das wäre eine Möglichkeit:
Delphi-Quellcode:
Gesünder wäre es, wenn möglich nen Timer zu nehmen, oder es in der OnClick zu machen. :wink:
procedure TForm1.DoSomething;
begin // Mach was Clicked:=False; While not Application.Terminated {and Visible} do begin Sleep(10); // CPU schonen Application.ProcessMessages; If Clicked then begin // Mach was anderes Break; // Oder Exit; end; end; end; procedure TForm1.ButtonClick(...); begin Clicked:=True; end; |
Re: Funktion / Prozedur warten lassen bis...
Ja Super!
Jetzt weiß ich auch, was Application.ProcessMessages bedeutet! Danke! |
Re: Funktion / Prozedur warten lassen bis...
Mittels Sleep frierst du aber die ganze Anwendung ein, was überhaupt nicht von Vorteil ist. Gucke daher lieber nach
![]() |
Re: Funktion / Prozedur warten lassen bis...
Schon klar, aber habs einfach so gelöst:
Delphi-Quellcode:
Des war's schon *g*
[...]
while not Continue do Application.ProcessMessages; [nach dem Klicken] |
Re: Funktion / Prozedur warten lassen bis...
Geilomat,
da hat aber mal einer die Programmierung mit Ereignissen verstanden. :wink: |
Re: Funktion / Prozedur warten lassen bis...
??? :gruebel:
|
Re: Funktion / Prozedur warten lassen bis...
Welchen Sinn ergibt es denn, die Programmausführung künstlich zu unterbrechen, bis ein Ereignis eintritt? Um genau das besser zu machen, gibt es doch Ereignisse überhaupt! Sprich: Die Funktion, die dein Programm ausführen soll, wenn z.B. ein Button gedrückt wird, verknüpfst du mit dem OnClick-Ereignis.
|
Re: Funktion / Prozedur warten lassen bis...
Das hat schon seinen Sinn. Denke mal an die Technik der Splash-Screens..
|
Re: Funktion / Prozedur warten lassen bis...
Also für Splash-Screens hab ich ne andere Technik, da brauchts sowas nicht für.
Aber es kann schon mal (aber selten) vorkommen, das man um so eine (ungesunde) Programmierweise nicht herum kommt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz