Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Формы! всякие разные 
:(
    Опции темы
h2o
Дата 3.10.2005, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 19.8.2005

Репутация: 1
Всего: 1



Чё то у меня через Application.ProcessMessages() не получается работать с модальной формой. Инфа из главной формы передаётся в модальную... Так не работает. Если создавать не модальную форму - Form2.Show то всё ок.
Не модальная форма и главная они получаются работают в разных потоках, а модальная блокирует поток главной... или как.

Чё делать в таких случаях? Создавать отдельный поток для модального окна? Если да то как?

А дочернюю форму (модальную или не модальную, тоеть любую) можно в трей свернуть?


--------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7!
PM MAIL   Вверх
_hunter
Дата 3.10.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



ничего не понял...
как ты хочеш через Application.ProcessMessages() работать с модальной формой?
в каких "в таких"
что, вообще, получится должно?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Rennigth
Дата 3.10.2005, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



h2o
Если я правильно понял то тебе надо передавать модальной форме какие-то данные???
Передавай их до вызова ShowModal.




--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
~FoX~
Дата 4.10.2005, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



h2o
Давайка по порядку:
У тебя есть две форму - из первой ты модально вызываешь вторую?
1. Каким образом ты обменеваешься данными?
Цитата(h2o @ 3.10.2005, 16:44)
Так не работает

2. Что именно не работает - выдается ошибка, не компилица, работает не верно, etc?
3. Модальность бывает разная - модальная на уровне приложения или модальная на уровне системы?
4. Причем тут вообще
Цитата(h2o @ 3.10.2005, 16:44)
Application.ProcessMessages()
???
5. И вообщето кусочек кода желательно привести, а то все телепаты у нас со вчерашнего дня в отпусках smile .

Цитата(h2o @ 3.10.2005, 16:44)
А дочернюю форму (модальную или не модальную, тоеть любую) можно в трей свернуть?

В трей вообще ничего свернуть нельзя - в трейе можно только иконку нарисовать и заставить твое приложение (форму, контрол etc...) реагировать на манипуляции с этой иконкой.
Тема как создать иконку в трей закреплена в этом разделе вверху - не промахнешься.








--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
h2o
Дата 4.10.2005, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 19.8.2005

Репутация: 1
Всего: 1



Из главной формы запускается процес, который умеет обмениваться инфой через Application.ProcessMessages().
Дак вот, данные от этого процесса, которые постоянно меняются (% выполнения, и бегущие строки...) нужно выводить в модальную форму.
Если я создаю форму, а потом туда выводится вся инфа в виде
Код

procedure Forma1.Button666Click();
begin
 Forma2:=TForma2.Create(Application);
 Forma2.Show; //Если поставить ShowModal то нифига не работает.
for ....
begin
Forma2.Lavel1.Caption:=xxx; //где ххх - это скажем переменная в которую процесс чего нибудь пишет.
Forma2.Memo1.Lines.Add:=yyy; //где ууу - это тоже мне даёт процес
Application.ProcessMessages();
end;


Работает всё в любом случае. Другое дело то, что через Formа2.Show процесс обменивается инфой с Формой 2 а в случае с Formа2.ShowModal ни одна надпись не изменяется, да и вообсче такое осчусчение что нифига мой процес не работате пока открыта Форма2.

Это сообщение отредактировал(а) h2o - 4.10.2005, 13:48
--------------------
Я нифига не знаю! мало что понимаю! Помогите тупому... У меня стоит D7!
PM MAIL   Вверх
_hunter
Дата 4.10.2005, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



так и есть ShowModal() останавливает вызывающий поток ( проще говоря )
поставь FormStyle в fsStayOnTop чтобы формы не перекрывались


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.