Klitzekleines Problem mit Turbo Delphi.
Ich habe eine ziemlich lange Funktion, die ziemlich lange etwas macht. Damit der User brav wartet und in der Zwischenzeit nichts anderes macht, wollte ich ein Label welches ausgibt sobald der Vorgang in Gang gesetzt wird. So sieht der Kopf meiner Funktion aus:
Delphi-Quellcode:
begin
Label14.Caption := 'Status: Working, please wait!';
Label14.Font.Color := clRed;
if IsAppRunning('xxxx.exe') = true then
begin
//viel zu tun hier
end;
Nur leider, macht Delphi das Label nicht rot und ändert die Caption. Ich war schon am verzweifeln, bis ich ein
Application.ProcessMessages;
hinter das Setzen der Label-Farbe gesetzt habe. Nun geht es, ich frage mich trotzdem wieso ich das so machen muss.
Was genau macht Application.ProcessMessages denn, nicht das das noch Einfluss auf die restliche Funktion hat.
Thx