Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
7-1080288352
kILL
2004-03-26 11:05
2004.05.09
Пароль


1-1082700177
webpauk
2004-04-23 10:02
2004.05.09
OnClick


3-1081507342
Homer
2004-04-09 14:42
2004.05.09
Синхронизация.


4-1079367573
Vilux
2004-03-15 19:19
2004.05.09
Использование sendmessage


14-1082575432
windows
2004-04-21 23:23
2004.05.09
инет через другой комп





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский