![]() |
Re: Threads!? Wie geht das?
Auch schon probiert...das geht aber net :(
Zitat:
|
Re: Threads!? Wie geht das?
versuchs mal mit "nil" sollte gehen
|
Re: Threads!? Wie geht das?
Hmm...immer noch alle 2 sek :(
Delphi-Quellcode:
procedure TGetRemoteVersionThread.UpdateCaption;
var new:string; getit:Tidhttp; begin with Form1 do begin /// getit := Tidhttp.Create(nil); //chat.Lines.Clear; //new := idhttp1.Get(URL+'/admin.php?nick='+nick+'&pw='+pw+'&go=getchat'+'&casenick='+casenick+'&lastid='+lastid); new := getit.get(URL+'/admin.php?nick='+nick+'&pw='+pw+'&go=getchat'+'&casenick='+casenick+'&lastid='+lastid); new := StringReplace(new, '###', #13#10, [rfReplaceAll]); if (new = '') OR (new = ' ') then begin end else begin chat.Lines.Add(new); end; lastid := getit.get(URL+'/admin.php?nick='+nick+'&pw='+pw+'&go=getlastid'+'&casenick='+casenick); /// end; end; // ============================================================================= procedure TGetRemoteVersionThread.Execute; begin Synchronize(UpdateCaption); end; //////////////////////////////////////////////////////////////////// procedure TForm1.Timer2Timer(Sender: TObject); var Thread: TGetRemoteVersionThread; begin Thread := TGetRemoteVersionThread.Create(True); Thread.FreeOnTerminate := True; Thread.Resume; thread.DoTerminate; end; |
Re: Threads!? Wie geht das?
Da darfst den Text nicht im Syncronize()-Teil runterladen.
Warum erzeugst du TidHttp auf der Form? Klar, dass das die Form mit "runterzieht". :) Ändere die Struktur mal ein bisschen:
Delphi-Quellcode:
TThreadName.Execute;
var sTemp: String; GetIt: TidHttp; begin // Runterladen im Thread GetIt.Create(nil); try sTemp := GetIt.Get(''); finally GetIt.Free; end; // Text aktualisieren auf der Form Syncronize(Update); end; |
Re: Threads!? Wie geht das?
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm...irgendwie macht das "GetIt.Create(nil);" n Problem (siehe Anhang).
|
Re: Threads!? Wie geht das?
Bei mir geht's.
Zeig mal die komplette Execute-Prozedur. |
Re: Threads!? Wie geht das?
Delphi-Quellcode:
procedure TGetRemoteVersionThread.Execute;
var sTemp: String; GetIt: TidHttp; begin // Runterladen im Thread GetIt.Create(nil); try new := getit.get(URL+'/admin.php?nick='+nick+'&pw='+pw+'&go=getchat'+'&casenick='+casenick+'&lastid='+lastid); new := StringReplace(new, '###', #13#10, [rfReplaceAll]); lastid := getit.get(URL+'/admin.php?nick='+nick+'&pw='+pw+'&go=getlastid'+'&casenick='+casenick); finally GetIt.Free; end; // Text aktualisieren auf der Form Synchronize(Updateit); end; procedure TGetRemoteVersionThread.Updateit; begin if (new = '') OR (new = ' ') then begin end else begin form1.chat.Lines.Add(new); end; end; procedure TForm1.Timer2Timer(Sender: TObject); var Thread: TGetRemoteVersionThread; begin Thread := TGetRemoteVersionThread.Create(True); Thread.FreeOnTerminate := True; Thread.Resume; thread.DoTerminate; end; |
Re: Threads!? Wie geht das?
"GetIt" muss erzeugt werden.
Delphi-Quellcode:
GetIt := TIdHTTP.Create(nil);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 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-2025 by Thomas Breitkreuz