Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Вниз

Выполнение запроса с помощью TOracleQuery (DOA) в потоке.   Найти похожие ветки 

 
Plt   (2004-07-01 16:12) [0]

Запускается приложение, конектюсь к базе. У TOracleSession свойство ThreadSafe = true. Передаю сессию в поток. Но пока не выполнится поток невозможно открыть новую форму!! В форму тоже передается сессия. Делаю так:

 TSAMSesThread = class(TThread)
 private
   ExecQry: TOracleQuery;
   HotSAM : string;
   Ses : TOracleSession;
 protected
   procedure Execute; override;
   procedure SaveAction;
 public
   procedure InitSAMSes(aSes : TOracleSession);
 end;

procedure TSAMSesThread.InitSAMSes(aSes: TOracleSession);
begin
 FreeOnTerminate := True;
 Ses := aSes;
 ExecQry := TOracleQuery.Create(nil);
 ExecQry.Session := Ses;
 with ExecQry do
 begin
   SQL.Clear;
   SQL.Add(".....");
 end;
 Resume;
end;

procedure TSAMSesThread.Execute;
begin
 try
   ExecQry.Execute;
   with ExecQry do
   begin
     while not Eof do
     begin
       HotSAM := HotSAM + Format("%s [¹%d Îïèñàíèå: %s]",[FieldAsString("sam"),FieldAsInteger("dev_id"),FieldAsString("dev_dsc")]) + ",";
       Next;
     end;
     if RowCount > 0 then
       Synchronize(SaveAction);
   end;    
 finally
   ExecQry.Free;
 end;
end;


 
Erik1   (2004-07-01 17:06) [1]

Поставь ExecQry.ThreadSafe := False; и Synchro... := False;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.051 c
6-1084803819
Dead MAZDAI
2004-05-17 18:23
2004.07.18
Как "резать" баннеры в браузерах?


14-1088168177
DeadMeat
2004-06-25 16:56
2004.07.18
Загадка


3-1088330071
Pafnuty
2004-06-27 13:54
2004.07.18
Не вижу вновь добавленное поле базы .....


3-1088202854
Bacuc
2004-06-26 02:34
2004.07.18
DBGrid


14-1088407118
Delphi5.01
2004-06-28 11:18
2004.07.18
... administrirovanie seti ...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский