Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Выполнение запроса с помощью 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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.021 c
14-1088179352
syte_ser78
2004-06-25 20:02
2004.07.18
аналог hotlog


14-1088597348
panov
2004-06-30 16:09
2004.07.18
Еще одного спамера подцепил на дозвон.


14-1088418920
sapsi
2004-06-28 14:35
2004.07.18
Ученые звания


14-1088115349
Князь Мышкин
2004-06-25 02:15
2004.07.18
Ваше отношение к математике как к науке?


1-1089235850
Alex_Rom
2004-07-08 01:30
2004.07.18
Цвет фона в HotKey