Moin zusammen,
ich war mir nicht sicher, wo das hier reinpasst, aber da es eher eine Frage zu Algorithmen an sich ist, schreibe ich es mal hier. Ggf bitte verschieben
Ich habe das folgende Problem, dass ich in meinem Programm öfters mal eine Aktion im onclick-Ereignis eines Controls ausführe, während der sämtliche anderen onclick-Ereignisse des Formulars bzw. der Applikation nicht funktionieren sollen. Logisch z.b., wenn ich meinen VirtualStringTree grade in ein File speichere, soll der Benutzer nicht parallel den Baum leeren oder ändern können. Ich habe bisher folgende Methoden gefunden, alle nicht ganz optimal, und wollte mal fragen ob es dazu eine generelle Vorgehensweise gibt, oder ob das jeder anders macht.
- Screen.Cursor:=crHourglass -> schön, aber User kann noch klicken.
- Form.enabled:=false -> User kann nicht mehr klicken, merkt aber nicht warum (der Cursor lässt sich dann nicht auf Sanduhr setzen).
- Irgendein modales Form mit z.b. TProgress-Control drauf -> hübsch, funktioniert aber bei relativ kurzen (1-5s) Aktionen etwas Overkill.
- Irgendein Untercontrol, z.B. TAdvPager oder TAdvOfficePager auf disabled false setzen -> Funktioniert und sieht gut aus, ist aber immer abhängig von der aktuellen
Form-Gestaltung.
Gibt es da noch etwas Besseres? Irgendwas Globales wie Application.blocked:=true o.ä.?
Vielen Dank und viele Grüße
Eike