Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Während Laden/Speichern Sanduhr setzen ? (https://www.delphipraxis.net/61274-waehrend-laden-speichern-sanduhr-setzen.html)

madina 19. Jan 2006 10:29


Während Laden/Speichern Sanduhr setzen ?
 
Hallo an alle,

Wie konnte ich während Laden/Speichern eines TClientDataSet im THauptForm den Courser auf Sanduhr setzen und zurück zum Normalen so daß alle weitere Bedienungen des währends am Programm gesperrt bleibt.

mfg

TeronG 19. Jan 2006 10:33

Re: Während Laden/Speichern Sanduhr setzen ?
 
Here U are
Delphi-Quellcode:
Form1.Cursor := crHourGlass; // Sanduhr AN
// Laden/Speichern/odersonnstwas
Form1.Cursor := crDefault; // Maus auf "normal"

dataspider 19. Jan 2006 10:43

Re: Während Laden/Speichern Sanduhr setzen ?
 
Hi,

empfehle noch try finally...

Delphi-Quellcode:
Screen.Cursor := crHourGlass;
try
  // Laden/Speichern/odersonnstwas
  Application.ProcessMessages;
finally
  // bei Exception soll die Sanduhr trotzdem verschwinden
  Screen.Cursor := crDefault;
end;
Cu, Frank

H4ndy 19. Jan 2006 14:23

Re: Während Laden/Speichern Sanduhr setzen ?
 
Zitat:

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. :idea:
(z.B. procedure BlockControls(EnableControls: boolean); )

Khabarakh 19. Jan 2006 14:28

Re: Während Laden/Speichern Sanduhr setzen ?
 
Zitat:

Zitat von H4ndy
Delphi-Quellcode:
// Form1 durch deinen Formularnamen ersetzen

Lieber gleich ganz weglassen :wink: .
Delphi-Quellcode:
// Wir wollen der OOP doch nicht von hinten durch die Brust stechen
Enabled := false;

TeronG 19. Jan 2006 14:37

Re: Während Laden/Speichern Sanduhr setzen ?
 
Und wer Postet jetzt die Zusammenfassung? (NEIN! Ich nicht!!) :mrgreen:

tomsel 19. Jan 2006 14:40

Re: Während Laden/Speichern Sanduhr setzen ?
 
Zitat:

Zitat von TeronG
Und wer Postet jetzt die Zusammenfassung? (NEIN! Ich nicht!!) :mrgreen:

madina


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz