Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 08:20 27.06.24 
Клубове/ Компютри и Интернет / Delphi Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Ima li garancia? [re: UnUn]
Авторunknown (Нерегистриран) 
Публикувано27.03.06 03:20  



По принцип нещата не се правят така, но щом казваш, че преправяш стара програма давам ти следния съвет:

Наследи ТForm и си препиши (override) метода SetEnabled и ShowModal.
Направи си един глобален TList в който:
При ShowModal ще добавяш (отделно от листа който си прави по принцип ShowModal) всяка останала (или може би всяка visible, не знам, зависи) форма освен формата (self) която става модална. В SetEnabled ще проверяваш дали текущата форма (пак self) не е в този списък и ако е няма да я правиш нито Enabled нито Disabled. След като ShowModal завърши ще махнеш формите от списъка.


Тука пак рискуваш много неща, като например:

Както казваш има асинхронни процеси който понякога трябва да забранят достъпа до главната форма. Може да се получи следния неприятен (д)ефект:

Показва се някакъв модален диалог.
Докато си в диалога асинхронно нещо се опитва да забрани главната форма и не успява.
Затваряш диалога.
Другия процес все още е в ход и не е сетнал Enabled:=True на главната форма, но тя вече е активна....

всичко това трябва да ти говори за кофти дизайн на цялата система, но щом се налага...



Цялата тема
ТемаАвторПубликувано
* Модален диалог и Disable/Enable на MainForm UnUn   26.03.06 13:49
. * Re: Модален диалог и Disable/Enable на MainForm unknown   26.03.06 15:58
. * ОК изглежда така става UnUn   26.03.06 17:24
. * Ima li garancia? UnUn   27.03.06 00:04
. * Re: Ima li garancia? unknown   27.03.06 03:20
. * Re: Ima li garancia? UnUn   27.03.06 10:47
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.