Hallo Jumpy,
Danke erstmal. Das Problem ist halt, dass es massig andere Buttons auf dem Form gibt, und ich nicht 20 mal ButtonXY.Enabled im Code haben will. Daher mein versuch über die ActionList. Versuch jetzt mal den Vorschlag mit dem Form.Enabled.
Jumpy
Du kannst eine for-Schleife über alle Objekte machen,
die TButtons (bzw. TCheckBoxes oder TRadioButtons oder
TEdits) sind und diese dann Enabled:=False setzen.
So hast Du nur eine Schleife, die du auch nicht bearbeiten
mußt, wenn Buttons wegfallen bzw. hinzukommen sollten
)
Das crHourGlas und crDefault setzen ist ein guter Tipp
von einem anderen Antworter hier. Allerdings genügt ein
nur setzen nicht ohne ein UpDate bzw. Refresh und danach ein
kurzes Sleep() einzufügen.
Alles klar,
MfG Manfred Zenns
PS: Ich gebe hier nur "meine" Erfahrungen mit Delphi wieder.
Oops:
Ist mir noch was eingefallen.
Bevor du die Action startest, setze ein Form-großes TPanel
(über alle Objekte) mit Text, was nun läuft.
Erhalten dann die Objekte in deinem Form Änderungen,
und sind diese abgeschlossen (!?!) entferne das Panel
über Visible wieder.
Alle Klicks in der Zwischenzeit hat dann das Panel
abgefangen.
Aber ich gebe dir recht, es muß eine elegantere Lösung
geben.