Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi schleife will einfach nicht. (https://www.delphipraxis.net/109567-schleife-will-einfach-nicht.html)

Fussball-Robby 3. Mär 2008 19:01

Re: schleife will einfach nicht.
 
ohne i ist es aber viel einfacher, du machst

Delphi-Quellcode:
procedure SchleifenThread.Execute;
begin
while not terminated do
  begin
     Synchronize(UpdatePing);
     sleep(2000);
     Synchronize(UpdatePong);
     sleep(2000);
  end;
end;
Und rufst dann beim Button
Delphi-Quellcode:
 SchleifenThread.Terminate;
auf

alleinherrscher 3. Mär 2008 19:04

Re: schleife will einfach nicht.
 
Das Problem ist eben, dass du so nicht den Überblick behälst. Die Funktion Terminate ist ja genau dazu da, den Thread abzubrechen :) Also warum wirres Zeug programmieren, wenns schon vordefinierten Code dafür gibt :) Abgesehen davon würd ich dann eher ne Boolsche Variable nehme anstatt nem Interger i...aber vergiss das am besten wieder :)

Schönen abend noch!

@Fussball-Robby: steht doch oben schon ;)

Fussball-Robby 3. Mär 2008 19:05

Re: schleife will einfach nicht.
 
Zitat:

Zitat von alleinherrscher
@Fussball-Robby: steht doch oben schon ;)

Ich weiß, wollte ihn nur nochmal darauf hinweisen und hab dann ausversehen das quote weggemacht :wink:

opfer15 3. Mär 2008 19:08

Re: schleife will einfach nicht.
 
Wie gesagt TApplication kennt er nicht ;) Ich weiss ja selber das es verwirrend ist.

Oder mach ich da nur was falsch ;) Luckys Thread PDF hat mir für heute das Hirn ausgeknipst :P

Fussball-Robby 3. Mär 2008 19:10

Re: schleife will einfach nicht.
 
Zitat:

Zitat von opfer15
Oder mach ich da nur was falsch ;)

Kann ich dir leider nicht sagen, da ich nicht weiß, was du machst :wink: in bischen code wär nicht schlecht

alleinherrscher 3. Mär 2008 19:12

Re: schleife will einfach nicht.
 
Zitat:

Zitat von opfer15
Wie gesagt TApplication kennt er nicht ;) Ich weiss ja selber das es verwirrend ist.

Oder mach ich da nur was falsch ;) Luckys Thread PDF hat mir für heute das Hirn ausgeknipst :P

Du nennst deinen Schleifenthread in Form1 ja auch so:

Delphi-Quellcode:
Thread := SchleifenThread.Create(False);
D.h. du musst beim Button einfach schreiben:

Delphi-Quellcode:
Thread.terminate;

Fertig

opfer15 3. Mär 2008 19:28

Re: schleife will einfach nicht.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Jop das wars.

So hier nochmal nen Code update

bluesbear 3. Mär 2008 19:56

Re: schleife will einfach nicht.
 
Das mit Threads lösen zu wollen ist IMHO ein unnötiger overkill. Ein einfacher Timer tut das viel besser. Finde ich. Also so würde ich das machen. Nur sone idee... :stupid:

opfer15 3. Mär 2008 20:28

Re: schleife will einfach nicht.
 
Na dann zeig mal her :D

Wenn ich nen Timer benutzt hab, hat sich das Prog warum auch immer verabschiedet, oder er hat die Befehle nicht abgearbeitet. Naja aber hauptsache es läuft ;)

Fussball-Robby 4. Mär 2008 14:37

Re: schleife will einfach nicht.
 
Zitat:

Zitat von bluesbear
Das mit Threads lösen zu wollen ist IMHO ein unnötiger overkill. Ein einfacher Timer tut das viel besser. Finde ich. Also so würde ich das machen. Nur sone idee... :stupid:

Hab ich doch am Anfang schon gesagt :roll:

müsste dann ungefähr so aussehen:
Delphi-Quellcode:
Var i:integer=0;

[..]

implementation

Procedure Timer1Timer(Sender:TObject);
begin
if i=0 then
  begin
    Label1.Caption:='Ping';
    inc(i);
  end else
  begin
    Label1.Caption:='Pong';
    Dec(i);
  end;
end;
nur runtergetippt & ungetestet


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr.
Seite 2 von 3     12 3      

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