Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

асинхронное выполнение ADOStoredProc [D7, MSSQL]


i ©   (2008-07-01 10:45:00) 

не могу сделать асинхронный ExecProc ([eoAsyncExecute]), т.к. надо освободить объект TADOStoredProc, а где это сделать - непонятно (знаю про OnFetchComplete но освобождать объект из его же события низя..).

можете помочь примером, как это правильно делается?
(мне результат работы ADOStoredProc не нужен. только вызов.)


i   (2008-07-01 11:50:00) [1]

сорри за синтаксис, имелось в виду:

FConnection.Execute('EXEC PROCEDURE ProcedureName', cmdText, [eoAsyncExecute]);


i   (2008-07-01 11:46:00) [2]

для проверки написали следующий код:
FConnection.Execute(Format('EXEC PROCEDURE ProcedureName, cmdText, [eoAsyncExecute]);
FConnection.Execute(Format('EXEC PROCEDURE ProcedureName, cmdText, [eoAsyncExecute]);

имеем то же исключение: "Не удается выполнить операцию во время асинхронного выполнения."

хранимая процедура выполняется несколько секунд.


sniknik   (2008-07-01 11:09:00) [3]

> но освобождать объект из его же события низя..).
зато можно послать событие на уничтожение себя в основной поток например.

> мне результат работы ADOStoredProc не нужен. только вызов.
как же эти эти кривые компоненты логику ADO портят...
не нужен результат? не нужен компонент? (удаляется по завершению) тогда нафига тебе он вообще? просто выполни запрос от коннекта, он тебе сам и ADOCommadn создаст и "убьет" его по завершению.


Ega23   (2008-07-01 10:51:00) [4]

Запусти отдельный поток и в нём через ADOCommand сделай свой Exec.
По завершении - убейсо.


Наверх

Титульная страница Поиск, карта сайта Написать письмо