Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизНужно запустить ХП в отдельном потоке Найти похожие ветки
← →
alextov (2004-04-22 14:10) [0]ХП долго выполняется, хочу чтоб Хранимая Процедура отработала в отдельном потоке и не мешала юзеру.
Соответственно пишу в юните потока:
procedure TMyThread.Execute;
var SP: TORaStoredProc;
begin
freeOnTerminate:=true;
SP:=ORaStoredProc.Create;
SP.StoredProcName:="MY_PROC";
SP.Prepare;
SP.Execute;
end;
В главном юните:
procedure TForm1.Button1Click(sender:Tobject);
var thrd: TMyThread;
begin
thrd:=TMyThread.Create(false);
end;
Поток запускается, ХП запускается, но приложение не реагирует ни на что, пока не завершится выполнение ХП.
Подскажите,плз, где я неправ ...
← →
alextov (2004-04-22 14:10) [0]ХП долго выполняется, хочу чтоб Хранимая Процедура отработала в отдельном потоке и не мешала юзеру.
Соответственно пишу в юните потока:
procedure TMyThread.Execute;
var SP: TORaStoredProc;
begin
freeOnTerminate:=true;
SP:=ORaStoredProc.Create;
SP.StoredProcName:="MY_PROC";
SP.Prepare;
SP.Execute;
end;
В главном юните:
procedure TForm1.Button1Click(sender:Tobject);
var thrd: TMyThread;
begin
thrd:=TMyThread.Create(false);
end;
Поток запускается, ХП запускается, но приложение не реагирует ни на что, пока не завершится выполнение ХП.
Подскажите,плз, где я неправ ...
← →
Reindeer Moss Eater © (2004-04-22 14:12) [1]Наверное ты не весь код нам показал. Тот что в главном юните
← →
Reindeer Moss Eater © (2004-04-22 14:12) [1]Наверное ты не весь код нам показал. Тот что в главном юните
← →
alextov (2004-04-22 14:40) [2]Действительно, код несколько сложнее, я выбросил из него немного второстепенных деталей потому, что писал по памяти.
Я попробовал откомпилировать приведенный здесь код - и что самое интересное - он работает !!!
Значит проблемы в деталях, но к сожалению исходников под рукой сейчас нет, так что предлагаю вернуться к этому вопросу завтра, когда я помещу здесь оригинальный глючный код :))
← →
alextov (2004-04-22 14:40) [2]Действительно, код несколько сложнее, я выбросил из него немного второстепенных деталей потому, что писал по памяти.
Я попробовал откомпилировать приведенный здесь код - и что самое интересное - он работает !!!
Значит проблемы в деталях, но к сожалению исходников под рукой сейчас нет, так что предлагаю вернуться к этому вопросу завтра, когда я помещу здесь оригинальный глючный код :))
← →
Digitman © (2004-04-22 14:57) [3]procedure TMyThread.Execute;
var
SP: TORaStoredProc;
begin
freeOnTerminate:=true;
try
SP:=ORaStoredProc.Create;
try
SP.StoredProcName:="MY_PROC";
SP.Prepare;
SP.Execute;
finally
SP.Free;
end;
except
end;
end;
хотя это и не принципиально в плане проблемы, но рано или поздно "грабли выстрелят"
← →
Digitman © (2004-04-22 14:57) [3]procedure TMyThread.Execute;
var
SP: TORaStoredProc;
begin
freeOnTerminate:=true;
try
SP:=ORaStoredProc.Create;
try
SP.StoredProcName:="MY_PROC";
SP.Prepare;
SP.Execute;
finally
SP.Free;
end;
except
end;
end;
хотя это и не принципиально в плане проблемы, но рано или поздно "грабли выстрелят"
← →
Reindeer Moss Eater © (2004-04-22 15:03) [4]try
SP:=TORaStoredProc.Create;
Да этот код вообще в блокноте писался
← →
Reindeer Moss Eater © (2004-04-22 15:03) [4]try
SP:=TORaStoredProc.Create;
Да этот код вообще в блокноте писался
← →
Курдль © (2004-04-22 15:22) [5]А Вам нужно ожидать каких-то возвращаемых значений от ХП, или просто запустить процесс на серваке?
Тогда авось поможет TOracleQyery у которого в SQL.Text прописан вызов ХП...
← →
Курдль © (2004-04-22 15:22) [5]А Вам нужно ожидать каких-то возвращаемых значений от ХП, или просто запустить процесс на серваке?
Тогда авось поможет TOracleQyery у которого в SQL.Text прописан вызов ХП...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.031 c