Autor Beitrag
Biarchiv
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 688



BeitragVerfasst: Mo 03.10.05 16:34 
Hey,

gibt es einen schnelleren Befehl als
"Application.ProcessMessages;"

Ich verwende ihn wenn ich in Dateien Strings suchen will
(mit TfileStream) damit mein Programm nicht freezed und
auch das es bedienbar bleibt sowie das Windows nicht
meldet "Programm reagiert nicht"

Vielen Dank...


Moderiert von user profile iconChristian S.: Topic aus VCL (Visual Component Library) verschoben am Mo 03.10.2005 um 18:24
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Mo 03.10.05 16:41 
klingt irgentwie nach Windows 95 :-)

nein - sofern du nur mehr als eine CPU hast,
solltest du solche Rechenintensiven sachen in Threads abspalten.

grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 03.10.05 17:19 
Wenn Du Application.ProcessMessages in einem langwierigen Prozess ausführen musst, so empfiehlt es sich, nicht bei jedem Schleifendurchlauf zu überprüfen, ob Windows ne Rückmeldung haben möchte.

Also z.B.
ausblenden Delphi-Quelltext
1:
2:
If X and $00000FFF = 0 Then
    Application.ProcessMessages;

Dann wird nur aller 4096 Schleifendurchläufe ein Application.ProcessMessages durchgeführt, wodurch es erheblich schneller gehen sollte.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.