![]() |
Re: Laufschrift hängt
Die sollen einfach nacheinander geladen werden so wie bei einer dia show
|
Re: Laufschrift hängt
Wenn du einen Timer verwendest, bleibt er für die Zeit des Ladens mal kurz stehen. Slebst wenn dein Code innderhalb des timer in einm anderen Thread läuft, der Timer tut dies nicht!
|
Re: Laufschrift hängt
??? hä verstehe ich jetzt nicht ganz also bleibt es beim timer stehen hat noch nie einer dieses Problem gehabt
|
Re: Laufschrift hängt
ah jetzt hab ichs gerafft war anscheiend den einen tag zu müde.
also wie könnte ich es lösen das es beim laden nicht mehr hängt wenn es mit dem timer nicht geht |
Re: Laufschrift hängt
Die Festplatte ist eine der langsamsten Komponenten eines PC. Wenn du die Bilder immer wieder von der Festplatte lädst dauert das ewig. Lade die Bilder bei Programmstart in den Arbeitsspeicher und lade die Bilder dann von dort. Oder lade das Bild innerhalb eines Threads von der Festplatte und packe es dann syncronisiert in die Darstellungskomponente.
|
Re: Laufschrift hängt
Das mit dem Thread wollte ich ja versuchen aber wie du ja oben im code siehst müsste ich dan den Thread auch wieder im timer reinsetzen und das geht doch nicht oder?
|
Re: Laufschrift hängt
doch, wer sollte dich davon abhalten im OnTimer einen Thread zu erzeugen? Allerdings ist es quatsch.
Du kannst auch einfach im Thread ständig prüfen ob es wieder zeit ist:
Delphi-Quellcode:
llastRun := GetTickCount;
repeat lTime := GetTickCount(); if (llastRun + 5000 < lTime) then begin //DoWhatYouWant (load picture and syncronize to show it) llastRun := lTime; end; sleep(50); //um die CPU-Last gering zu halten, wir müssen ja die Schelife nicht übermäßig oft durchlaufen until Self.Terminated; |
Re: Laufschrift hängt
könnte ich das ungefähr so machen habe keine anhnung von thread
den code hatte wir mal in der schule angeschnitten
Delphi-Quellcode:
function lauf() :integer;
var x :integer; begin müsste hir das laden der fils rein???? end; procedure TForm1.Button2Click(Sender: TObject); Var ThreadID :Dword; begin CreateThread(nil, 0, addr(lauf), nil, 0, ThreadID); // win Api Funktion end; |
Re: Laufschrift hängt
Zitat:
|
Re: Laufschrift hängt
Zitat:
![]() Dadurch sparst du dir einen Timer. Siehe dazu ![]() Zitat:
Im Falle das dort DWort steht kannst du Cardinal verwenden ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 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