Hast Du das Disablen auch vor das Öffnen der
Query gesetzt?
Ja. Aber ich hab es innerhalb des try-Blocks gesetzt. Als letzten Versuch hab ich es mal davor gesetzt und auf einmal klappt es. Keine Ahnung warum das einen Unterschied macht.
Wenn einer 'ne Idee hat wieso, her damit, denn ich lerne gerne neues.
Hab jetzt auch wieder die Version genommen, wo nur die ActionList suspended wird.
Code:
procedure TSelector.acOpenExecute(Sender: TObject);
begin
if Quelle.State in [dsedit,dsinsert] then Quelle.Post;
Quelle.Close;
ActionList1.State:= asSuspendedEnabled; //hier ist es jetzt
pnltab.Caption:= 'Bitte warten';
self.Repaint;
Quelle.SQL.Clear;
Quelle.SQL.Text:= Memo1.Lines.Text;
try
//hier war es vorher
Quelle.Open;
pnltab.Caption:= '';
except
on e:
exception do pnltab.Caption:= e.message;
end;
Application.ProcessMessages;
ActionList1.State:= asNormal; //hier wieder alles möglich
end;
Damit ist mein Problem gelöst, das der User keine Buttons mehr klicken kann. Gleichzeitig ist aber das Form noch enabled was mir auch lieber ist (und z.B. Verschiebbar). Ich werd jetzt morgen noch einen Thread dafür aufsetzen, damit ich dem User Fortschritt vorgaukeln kann und bin happpy.
Danke für die viele Hilfe bei meinem ertsen Post und Problem hier. Wird bestimmt nicht das letzte bleiben, da ich gerade erst mit Delphi angefangen hab,
Jumpy.