Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi procedure von außerhalb abbrechen (https://www.delphipraxis.net/8445-procedure-von-ausserhalb-abbrechen.html)

nailor 4. Sep 2003 17:38


procedure von außerhalb abbrechen
 
Stellt euch mal vor, ich hätte ein Programm, das macht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: byte;
begin
while true do
  begin
    inc(i);
    caption := inttostr(i);
  end;
end;
in echt macht es natürlich was Sinnvolleres, aber ich habe mir erlaubt, die Sache hierrauf zu vereinfachen...

Was ich jetzt will ist im Grunde ein Button,
- auf den ich klicken kann, während mein Programm zählt
- wäre notfalls möglich mit ProcessMessages, aber das scheint mir die Sache sehr langsam zu machen
- der dafür sorgt, dass das mein Programm aufhört zu zählen

damit wäre ich für den Anfang (hoch) zufrieden.

Michael

neolithos 4. Sep 2003 17:45

Re: procedure von außerhalb abbrechen
 
Schau unter Thread's
vielleicht ist das was

Billa 4. Sep 2003 18:26

Re: procedure von außerhalb abbrechen
 
Ich könnte mir auch sowas wie eine Callback-Funktion vorstellen....
Innerhalb Deiner Schleife wird eine (als Parameter übergebene) Funktion aufgerufen, die eine Abbruchbedingung setzt


procedure TuWas ( callbackfunc : function );
begin
while bedingung do
begin
...
...
bedingung := callbackfunc;
end;
end


Schau mal unter "Prozeduren und Funktionen als Parameter"

Ciao

nailor 4. Sep 2003 18:34

Re: procedure von außerhalb abbrechen
 
@neo: Ich hatte danach gesucht, aber 199 (oder so) Treffer motivieren nicht, weiter zu suchen

@billa: werde ich machen

JoelH 4. Sep 2003 18:36

Re: procedure von außerhalb abbrechen
 
http://www.delphipraxis.net/topic869...hlight=tthread

nailor 4. Sep 2003 18:47

Re: procedure von außerhalb abbrechen
 
Zitat:

Zitat von JoelH
http://www.delphipraxis.net/topic8693_threaddemo+mit+der+vcl+klasse+tthread+ve r%f6ffentlicht.html&highlight=tthread

Das hört sich doch sehr gut an. Sobald ich es durch habe, werde ich mich mal wieder melden... :wink:

ICh habe ja schon mal kurz reingeschaut, und grade was zu meckern:

Delphi-Quellcode:
procedure TForm1.UpdateLVCaption(Index, Count: Integer);
begin
  Listview1.Items[Index].SubItems[0] := 'Position: ' + IntToStr(Count);
  if Count >= 10000 then //<-- wenn da nur "=" steht, rennt mein schneller Rechner drüber weg, ohne was zu machen
    Listview1.Items[Index].SubItems[0] := 'fertig';
end;

JoelH 4. Sep 2003 19:00

Re: procedure von außerhalb abbrechen
 
das musst du Luckie sagen ;) Aber selbst wenn es so ist, dann ist dies nicht wirklich gut.

Was ist das für eine Kiste ? Mein Arbeitsrechner 2,4 (glaub ich) GHz PIV schuckt den Kram.

nailor 4. Sep 2003 19:35

Re: procedure von außerhalb abbrechen
 
Der Luckie wird das auch hier lesen ;)

Das gleiche Thema hatten wir schonmal, da ginge es um eine Uhrzeit zu der was gestoppt werden sollte. >= ist auf jeden Fall besser.

PS: Der Rechner ist nicht wirklich schnell, war eher ironisch, als ich meinte, dass er sogar so schnell ist, dass er das mit dem =10000 garnicht mitbekommt. (XP2000+)

JoelH 4. Sep 2003 20:09

hmm,
 
meiner nimmt es, iss auch XP2000+ zuhause.

nailor 4. Sep 2003 20:16

Re: procedure von außerhalb abbrechen
 
was verstehst du unter "nimmt es"? Es läuft bei mir auch, nur kommt nie Stopp, weil die wahrscheinlichkeit, dass die abfrage kommt, wenn es 10000 - und zwar genau 10000 - ist ist so klein, dass es bei mir noch nie der fall war, sondern der counter einfach immer weiter ging...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 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