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

Вниз

Форма для ожидания   Найти похожие ветки 

 
Grinder   (2007-10-28 11:19) [0]

Привет, такой вопрос: у меня есть форма, один из  участков кода в этой форк, выполняется очень долго, поэтому я хочу сделать форму ожидания, т.е пока выполняется длинный код,эта форма висит и говорит юзеру чтобы тот ждал, я это делал так: создал форму открыл ее как модальную, но как известно теперь код в другой форме не выполняется. Как сделать так, чтобы эффект был как у модальной формы (т.е юзер бы не смог ничего сделаьт с первой формой), но код в первой форме выполнялся бы, когда модальная форма открыта. Спасибо!


 
Virgo_Style ©   (2007-10-28 11:35) [1]

длительные вычисления вынести в поток.


 
Grinder   (2007-10-28 11:40) [2]

Блин а по-проще как-нить можно это сделать без потоков


 
homm ©   (2007-10-28 11:52) [3]

Поставь Application.ProcessMessages, что-бы она периодически (раз 20 в секунду) вызывалась во время вычислений.


 
Плохиш ©   (2007-10-28 12:29) [4]


> Grinder   (28.10.07 11:40) [2]

При отображении формы посылаешь форме с обработкой сообщение, в обработчике сообщения делаешь свою долгую обработку, после обработки закрываешь свою модальную форму.


 
homm ©   (2007-10-28 14:33) [5]

> [4] Плохиш ©   (28.10.07 12:29)
> При отображении формы посылаешь форме с обработкой сообщение,
> в обработчике сообщения делаешь свою долгую обработку,
> после обработки закрываешь свою модальную форму.

Получилось проще в реализации и логичнее в поведении, нежели [3], ага?


 
Virgo_Style ©   (2007-10-28 14:49) [6]

homm ©   (28.10.07 14:33) [5]
Получилось проще в реализации и логичнее в поведении, нежели [3], ага?


Может и сложнее, зато вопросу соответствует


 
homm ©   (2007-10-28 14:56) [7]

> [6] Virgo_Style ©   (28.10.07 14:49)
> Может и сложнее, зато вопросу соответствует

А важнее на вопрос ответить, или человека научить правильно делать?


 
Virgo_Style ©   (2007-10-28 15:25) [8]

homm ©   (28.10.07 14:56) [7]

Имею смелость полагать мой ответ [1] полностью отвечающим обеим задачам.

Решение [4] постановке задачи соответствует. Несколько формально, трудно спорить)
Решение [3] не соответствет постановке задачи, хотя года три тому назад я бы посчитал его приемлемым.


 
homm ©   (2007-10-28 15:26) [9]

> [8] Virgo_Style ©   (28.10.07 15:25)
> Имею смелость полагать мой ответ [1] полностью отвечающим
> обеим задачам.

Не спорю. В реализации сложнее только слегка, потому было [2].


 
Плохиш ©   (2007-10-28 15:31) [10]


> homm ©   (28.10.07 14:33) [5]

В какое место предлагаешь ему Application.ProcessMessages поставить? Форму-то он модально вызвал, может стоит вопрос прочитать?


 
Virgo_Style ©   (2007-10-28 15:47) [11]

Если "участок кода" - это цикл, то, совмещая [3] и [4], можно передать модальной форме callback-процедуру, и пусть она ее вызывает хоть по таймеру, хоть в перемешку с processmessages"ами.
Извращаться - так от души))


 
homm ©   (2007-10-28 15:54) [12]

> [10] Плохиш ©   (28.10.07 15:31)
> Форму-то он модально вызвал, может стоит вопрос прочитать?

Такая форма без труда примет сообщение и обработает его, ага? ;)
А если ты про PostMessage а не про Send, то зачем тогда моразм с сообщениями? Функция-член и вперед :)


 
Leonid Troyanovsky ©   (2007-10-28 16:52) [13]


> Плохиш ©   (28.10.07 15:31) [10]

> В какое место предлагаешь ему Application.ProcessMessages
> поставить?

http://www.rsdn.ru/Forum/?mid=573413
http://www.rsdn.ru/Forum/Message.aspx?mid=500558&only=1

--
Regards, LVT.


 
Плохиш ©   (2007-10-28 18:49) [14]


> Leonid Troyanovsky ©   (28.10.07 16:52) [13]

> > Плохиш ©   (28.10.07 15:31) [10]

Не кажется ли тебе, что ссылки приводишь не по адресу, адресуй их homm.


 
Плохиш ©   (2007-10-28 18:50) [15]


> homm ©   (28.10.07 15:54) [12]
> > [10] Плохиш ©   (28.10.07 15:31)
> > Форму-то он модально вызвал, может стоит вопрос прочитать?
>
>
> Такая форма без труда примет сообщение и обработает его,
>  ага?

Ссылки из [13] прочитал уже?


 
Leonid Troyanovsky ©   (2007-10-29 12:15) [16]


> Плохиш ©   (28.10.07 18:49) [14]

> не по адресу, адресуй их homm.

Был рассеян, sorry.

2homm ©: [13]

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2007.11.18;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
2-1193211223
Ega23
2007-10-24 11:33
2007.11.18
Назначение Parent у TFrame


2-1193266814
неугомонный
2007-10-25 03:00
2007.11.18
работа с классами


4-1178619225
Rimd
2007-05-08 14:13
2007.11.18
Directory and attributes


2-1193292166
F@T@L_Err0r
2007-10-25 10:02
2007.11.18
Пустая переменная


4-1178892371
Zagaevskiy
2007-05-11 18:06
2007.11.18
Handle иконок рабочего стола