Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
1-1089144177
whitespider
2004-07-07 00:02
2004.07.18
Как связаться с Маткадом


14-1088496348
Igorek
2004-06-29 12:05
2004.07.18
VCL от Дельфи5 на Дельфи6


1-1088847491
чудак
2004-07-03 13:38
2004.07.18
помогите освободить память!


6-1084814265
OlegM
2004-05-17 21:17
2004.07.18
Как узнать в сети на каком компе запущен TServerSocket


8-1083745939
Denis
2004-05-05 12:32
2004.07.18
Jpeg Error #52 - что это означает?




   Наверх