Hallo Uwe,
blöder Fehler! Ich habe schon desöfteren die Erfahrung machen dürfen, dass eine kleine 'Verschnaufpause' dem System hilft. Will sagen: es ist mitunter günstig, einem Objekt ein bisschen Zeit zu geben, seine Tätigkeit zu beenden, bevor man mit dem nächsten Auftrag fortfährt. Zum Testen setze ich daher gern die folgende Routine ein:
procedure Pause(T:Integer);
var Z:Integer;
begin
Z:=GetTickCount;
repeat
Application.ProcessMessages;
until ((GetTickCount - Z) > T);
end; { Pause }
Teste doch mal, ob sich das Verhalten Deiner Funktion ändert, wenn Du vor dem Message-Dialog z. B. die Ausführung um eine Sekunde (Pause(1000)) verzögerst.
Ist nur so eine Idee. Aber 'Versuch macht kluch'.
Gruß Michael.
geschrieben von
MeikelA
,
11.01.2006, 08:25 Uhr
, 62 mal gelesen