Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.11.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.065 c
1-1188223446
SamProf
2007-08-27 18:04
2007.11.18
Как переопределить правильно конструктор?


15-1192375543
исследователь
2007-10-14 19:25
2007.11.18
Размер поля БД


15-1192118907
Kolan
2007-10-11 20:08
2007.11.18
Еще раз вопрос про BugTracking, старая ветка пропала&#133


4-1178966232
KioLie
2007-05-12 14:37
2007.11.18
Кнопка приложения в taskbar е


3-1183995926
rule
2007-07-09 19:45
2007.11.18
почему в compound sql statement при подулючении к MSSQL Server





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский