Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: programm friert ein, progress bar, leerzeichen ignoriere

  Alt 26. Dez 2005, 22:39
Zitat:
Vorallem habe ich ja nur einen Befehl in meinem code, der rest überniehmt dann die componente!!
... und diese Komponente braucht aber sehr lange und friert dann das Fenster ein.

Einfach die Komp. TJvThread auf das Formular ziehen und den Aufruf der anderen Komponente in TJvThread.OnExecute reinschreiben.
Zum Starten rufst du dann TJvThread.Execute auf.
Der Event OnBegin informiert Dich, dass der Thread gestartet wurde.
OnFinish bzw. OnFinishAll informiert Dich (das Programm), dass der Thread beendet ist.

Eigentlich alles wie gehabt, nur das Fenster friert nicht mehr ein.

Aber du musst noch abfangen, wenn das Programm einfach so beendet wird, bevor der Thread fertig ist.
Entweder Du hast die Möglichkeit der Komp. das mitzuteilen (hallo, mach mal Schluss), oder du verhinderst das Beenden solange bis OnFinish/OnFinishAll gekommen ist.

Als weitere Möglichkeit bietet sich auch an (vor allem auf Mehr-CPU-Systemen) die Berechnung von mehreren Dateien parallel zu verarbeiten, dann nutzt du auch alle CPUs aus und nicht nur eine.

Ich werde morgen mal sehen und dort eine Thread-Version reinstellen ... alte Menschen müssen jetzt schlafen
  Mit Zitat antworten Zitat