Ich kann dein Problem nicht nachvollziehen, da ich D5 verwende.
Aber du solltest alle Actions disablen, solange du länger dauernde Aktionen mit Application.ProccessMessages unterbrichst.
Ansonsten könnte eine 2. Action gestartet werden.
Allgemein:
Delphi-Quellcode:
procedure TForm1.Action1OnExecute(Sender:TObject);
procedure EnableActions(v:Boolean);
begin
Action1.Enabled := v;
Action2.Enabled := v;
// usw
// Hier sollte man sich etwas schlaueres einfallen lassen
end;
begin
// alle Actions abschalten
EnableActions(False);
try
MachWasZeitKostet;
finally
// alle Actions abschalten
EnableActions(True);
end;
end;