Hallo,
ich nutze die
ADO-Komponenten aus dem Lieferumgang von Delphi. Ich möchte per Button-Klick eine StoredProcedure aufrufen. Diese läuft mehrere Minuten. Daher soll *sofort* nach dem Klick ein Weiterabreiben im Programm möglich sein. Das Programm soll nicht blockieren. Genau das tut es bei Aufruf von ADOsp.ExecProc jedoch. Jetzt habe ich ADOsp.ExecuteOptions.eoAsyncExecute auf true gesetzt, damit es nicht mehr blockiert. Dabei gibt es jedoch folgende
Exception:
Code:
Im Projekt xxxxx.exe ist eine
Exception der Klasse EOleException mit der Meldung 'Der Vorgang kann nicht bearbeitet werden, während ein asynchroner Befehl ausgeführt wird' aufgetreten.
Delphi-Quellcode:
ADOsp: TADOStoredProcedure
...
ADOsp.ProcedureName := '
MyTestProc';
ADOsp.Parameters.Clear;
ADOsp.Parameters.AddParameter.Value := 123;
ADOsp.Parameters.AddParameter.Value := '
test';
ADOsp.ExecProc;
//<-- Exception hier
Wie bekomme ich das gelöst? Vielen Dank im Voraus!