Zitat von
madina:
...alle weitere Bedienungen des währends am Programm gesperrt bleibt.
Um die Benutzung deines Programms komplett zu verhindern,
musste du noch vom Formular die Eigenschaft "Enabled" auf false setzen.
(Damit wird alles inkl. Minimieren, Schließen, etc. unterbunden!)
Hier das obige Beispiel noch verbessert:
Delphi-Quellcode:
Screen.Cursor := crHourGlass;
Form1.Enabled := false;
// Form1 durch deinen Formularnamen ersetzen
try
// Laden/Speichern/odersonnstwas
Application.ProcessMessages;
finally
// bei Exception soll die Sanduhr trotzdem verschwinden (und das Formular wieder benutzbar werden)
Screen.Cursor := crDefault;
Form1.Enabled := true;
end;
Schöner wäre natürlich eine Prozedur, welche nur bei den kritischen Controls Enabled auf false setzt.
(z.B. procedure BlockControls(EnableControls: boolean); )