![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать thread так, чтобы вып-ся в нем SQLзапр не вешал проу [D7, Win2k, WinXP]
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) ?
))