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-18 10:33:00) [1]

Спасибо всем! Ссылка на статью Панова помогла. Разобрался что к чему и как надо травку курить и откуда дым пускать (и стоит ли вообще)
Ха-ха и хи-хи три раза :)))


Сергей М,   (2008-04-17 19:55:00) [2]


> VlGrig   (17.04.08 17:34) [19]
>
> Я понимаю что курить по рецепту


Не курил и не кури).. Не надо).. Пока)..

Ты [13] опробовал ?

Ждем-с ..


Оригинал   (2008-04-17 19:10:00) [3]


> VlGrig   (17.04.08 17:57) [23]
> Спасибо. добавил в Execute методе вызов процедуры родительской
> формы в которой стоит Application.ProcessMessages;
> вроде работает.


Не может работать с Application.ProcessMessages.
Падать будет в самый неподходящий момент.
Либо в Synchronize выполнять.


Anatoly Podgoretsky   (2008-04-17 18:45:00) [4]

> Palladin  (17.04.2008 18:11:26)  [26]

В смысле Хихи, Хаха


Anatoly Podgoretsky   (2008-04-17 18:43:00) [5]

> Kolan  (17.04.2008 17:32:18)  [18]

А зачем нам повод?


ANB   (2008-04-17 18:25:00) [6]


> то бишь, я, такой негодяй, дал плохой совет. автор спросил
> можно ли примерчик, я сказал можно и дал, но ANB сказал
> "не нужно"

:) Именно. Если бы автору действительно нужно было корректно работать с потоками, твой пример был бы в самую тему.
В данном же случае (как и в большинстве других) более правильное решение - отказаться от использования доп. потоков.


Palladin   (2008-04-17 18:11:00) [7]


> ANB   (17.04.08 18:02) [24]

то бишь, я, такой негодяй, дал плохой совет. автор спросил можно ли примерчик, я сказал можно и дал, но ANB сказал "не нужно"

может вообще, отныне, всем не нужно давать на форуме советы по использованию Synchronize, ведь подобные советы разовьют дальше дурной подход у всех...


> VlGrig   (17.04.08 17:57) [23]

с чего ты так вдруг в этом уверен, что работает....


sniknik   (2008-04-17 18:04:00) [8]

> вроде работает.
с таким подходом это просто чудо...


ANB   (2008-04-17 18:02:00) [9]


> банальное высказывание никаким боком примера использования
> synchronize не касающееся...

Зато не развивающее дальше дурной подход к асинхронному выполнению запроса.

НЕ НУЖЕН ДОПОЛНИТЕЛЬНЫЙ ПОТОК ДЛЯ ТОГО, ЧТОБЫ ПРИЛОЖЕНИЕ НЕ ВИСЕЛО ВО ВРЕМЯ ВЫПОЛНЕНИЯ ЗАПРОСА.

Соответственно не нужно работать с синхронизе и изучать работу с потоками.


VlGrig   (2008-04-17 17:57:00) [10]

Спасибо. добавил в Execute методе вызов процедуры родительской формы в которой стоит Application.ProcessMessages;
вроде работает.


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


> Лучше всего использовать асинхронные режимы работы используемых
> компонентов.

банальное высказывание никаким боком примера использования synchronize не касающееся...

вот еще пример построения наследника TThread
http://www.delphimaster.ru/articles/panov/


ANB   (2008-04-17 17:39:00) [12]


> Palladin ©   (17.04.08 17:36) [20]
> Можно
> %DELPHI%\Demos\Threads\

Но не всегда нужно. Лучше всего использовать асинхронные режимы работы используемых компонентов. Если они их поддерживают.
Однако не озвучена ни СУБД ни используемая библиотека для доступа к ней.


Palladin   (2008-04-17 17:36:00) [13]

Можно
%DELPHI%\Demos\Threads\


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

Я понимаю что курить по рецепту, а как по рецепту,
если можно маааленький примерчик!


Kolan   (2008-04-17 17:32:00) [15]

> хотели на Архангельского все свалить?

Нам только дай повод :)


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


> sniknik ©   (17.04.08 17:23) [16]


Архангельский с Карихом предусмотрительно сделали ноги, перед этим, вероятно,  предупредив автора топика, что бить за это будут больно и возможно ногами)


sniknik   (2008-04-17 17:23:00) [17]

хотели на Архангельского все свалить? а вот не вышло! ;)


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


> VlGrig   (17.04.08 17:18) [12]
>
> как писать Synchronize


Строго наоборот - эту траву лучше не курить, а если и курить, то строго по рецепту)


Palladin   (2008-04-17 17:19:00) [19]


> Сергей М. ©   (17.04.08 17:12) [10]

и не говори... как быки на красную тряпку :)


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


> К запросу подключен DBGrid, но не в этом дело


Как это не в этом ? Оч даже в этом !
Отключи запрос от DataSource и убедись в обратном...


Страницы:   1 2

Наверх

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