Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать thread так, чтобы вып-ся в нем SQLзапр не вешал проу [D7, Win2k, WinXP]


Страницы:   1 2

VlGrig ©   (2008-04-17 16:07:00) 

Здравствуйте!!! Така проблема: выполняю SQL запрос в Thread-e в отдельном окне (fsStayOnTop), но пока запрос не выполнится, программа висит и это окно торчит на экране куда бы не переключался. Как можно это окно убрать при переключении на др.прогу, и вообще, почему Thread не выполняется отдельным фоновым потоком ?


VlGrig   (2008-04-17 17:18:00) [21]

а как писать Synchronize, по хелпу ему надо указывать проседуру,
а конкретной процедуры-то нет?


VlGrig   (2008-04-17 17:14:00) [22]

К запросу подключен DBGrid, но не в этом дело
доле в том, что пока запрос не выполнится, прога висит,
а хотелось бы что-то вроде application.ProcessMessages


Сергей М.   (2008-04-17 17:12:00) [23]


> Palladin ©   (17.04.08 16:11) [2]


Эк мы с тобой облажались !)


Kolan   (2008-04-17 17:09:00) [24]

> qrSQL.Open;

А к этому запросу что подключены контролы ?


VlGrig   (2008-04-17 17:08:00) [25]

Я вообще-то первый раз пыиаюсь использовать THread
вот код программы

type
 TSQLThread = class(TThread)
 private
   qrSQL: TQuery;
 protected
   procedure Execute; override;
 public
   constructor Create( AqrSQL: TQuery ); virtual;
 end;

//----------------------------------------------------

constructor TSQLThread.Create(AqrSQL: TQuery);
begin
 inherited Create(True);
 FreeOnTerminate:=True;
 qrSQL:=AqrSQL;
end;

procedure TSQLThread.Execute;
begin
 qrSQL.Open;
end;

//----------------------------------------------------
procedure TMyProg.sbExecClick(Sender: TObject);
begin
 FSQLThread:=TSQLThread.Create(qrSQL);
 FSQLThread.Priority:=tpLower;
 FSQLThread.Resume;
end;


Kolan   (2008-04-17 16:53:00) [26]

> Не тупо, а тщательно скопировал, сами знаете откуда.

А говорят с господином «сами знаете откуда» даже разговаривали на форуме. Интересно что он ответил? Мож есть ветка?


Anatoly Podgoretsky   (2008-04-17 16:52:00) [27]

> Palladin  (17.04.2008 16:11:02)  [2]

Не тупо, а тщательно скопировал, сами знаете откуда.


Kolan   (2008-04-17 16:26:00) [28]

> в Thread-e в отдельном окне (fsStayOnTop)

Казалось бы как они связаны :)


Оригинал   (2008-04-17 16:23:00) [29]


> VlGrig   (17.04.08 16:07)  
> Здравствуйте!!! Така проблема: выполняю SQL запрос в Thread-
> e в отдельном окне (fsStayOnTop), но пока запрос не выполнится,
>  программа висит и это окно торчит на экране куда бы не
> переключался. Как можно это окно убрать при переключении
> на др.прогу, и вообще, почему Thread не выполняется отдельным
> фоновым потоком ?


А код засекречен?


Игорь Шевченко   (2008-04-17 16:21:00) [30]

Не сокращ.


Palladin   (2008-04-17 16:11:00) [31]

потому что ты тупо бездумно написал Synchronize


Сергей М.   (2008-04-17 16:10:00) [32]


> почему Thread не выполняется отдельным фоновым потоком ?


Дай дагадаюсь - потому что Synchronize(DoWork) ?

))


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо