Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Funktion / Prozedur warten lassen bis... (https://www.delphipraxis.net/80980-funktion-prozedur-warten-lassen-bis.html)

TheMiller 18. Nov 2006 14:17


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!

Sunlight7 18. Nov 2006 14:25

Re: Funktion / Prozedur warten lassen bis...
 
Hallo,

das wäre eine Möglichkeit:
Delphi-Quellcode:
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;
Gesünder wäre es, wenn möglich nen Timer zu nehmen, oder es in der OnClick zu machen. :wink:

TheMiller 18. Nov 2006 14:30

Re: Funktion / Prozedur warten lassen bis...
 
Ja Super!

Jetzt weiß ich auch, was Application.ProcessMessages bedeutet! Danke!

Balu der Bär 18. Nov 2006 14:31

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 Hier im Forum suchenDelay.

TheMiller 18. Nov 2006 14:34

Re: Funktion / Prozedur warten lassen bis...
 
Schon klar, aber habs einfach so gelöst:

Delphi-Quellcode:
[...]
while not Continue do
    Application.ProcessMessages;
[nach dem Klicken]
Des war's schon *g*

Brainshock 18. Nov 2006 16:27

Re: Funktion / Prozedur warten lassen bis...
 
Geilomat,

da hat aber mal einer die Programmierung mit Ereignissen verstanden. :wink:

TheMiller 18. Nov 2006 16:30

Re: Funktion / Prozedur warten lassen bis...
 
??? :gruebel:

Oxmyx 18. Nov 2006 16:52

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.

TheMiller 18. Nov 2006 16:55

Re: Funktion / Prozedur warten lassen bis...
 
Das hat schon seinen Sinn. Denke mal an die Technik der Splash-Screens..

Sunlight7 18. Nov 2006 17:02

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 16:27 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz