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

Вниз

Как проверить Show Modal   Найти похожие ветки 

 
BadResult   (2005-10-09 16:15) [0]

Открываю форму Form2.ShowModal; Но если эта форма уже открыта то вылазит ошибка. Как провериь открыта или нет?


 
kami ©   (2005-10-09 16:37) [1]

if not Form2.Visible then
 Form2.ShowModal; // ?


 
Fay ©   (2005-10-09 17:05) [2]

2 BadResult   (09.10.05 16:15)
Что-то я не могу себе представить такую ситуацию... Во всяком случае, для модальной формы.


 
kami ©   (2005-10-09 17:25) [3]

Fay ©   (09.10.05 17:05) [2]
О, очень даже может быть.
Сам до позавчерашнего дня не верил, а оказывается, надо было.
В общем, дело было так :
клиент/сервер в локалке, неблокирующий режим. Доп. потоки не создаю (и ни разу в жизни не создавал).Сервер командует "Регистрация!", клиент показывает модальную форму. Так вот, если сервер пришлет ещё раз "Регистрация!", то клиент попробует снова отобразить форму > осибка.


 
BadResult   (2005-10-09 17:27) [4]


> не могу себе представить такую ситуацию...


Например:

procedure TForm1.Timer1(Sender: TObject);
begin
RegistrationForm.ShowModal;
end;


 
Palladin ©   (2005-10-09 17:29) [5]

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


 
kami ©   (2005-10-09 17:32) [6]

BadResult   (09.10.05 17:27) [4]
Кажися, не стоит так делать, даже в триальных прогах.
Очень надоедливая штука заставит юзера выкинуть программу на свалку, очистить корзину и три раза записать что-нибудь сверху.


 
BadResult   (2005-10-09 17:39) [7]


> Очень надоедливая штука


имхо, это зависит от Timer1.Interval


> порылась совсем не там где думает автор поста. Код нужен.


Код в [4]
Да, наверное, if not Form2.Visible then достаточно.


 
Palladin ©   (2005-10-09 17:51) [8]


> BadResult   (09.10.05 17:39) [7]

Когда писал кода не видел. Слишком долго писал.


 
Anatoly Podgoretsky ©   (2005-10-09 18:51) [9]

BadResult   (09.10.05 17:39) [7]
Такого кода быть не должно, это костыль, а лечить надо ногу.



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

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

Наверх




Память: 0.48 MB
Время: 0.041 c
4-1125052847
nslviv
2005-08-26 14:40
2005.10.30
Как запретить доступ к папке с помощью WinAPI?


14-1128889828
Kerk
2005-10-10 00:30
2005.10.30
Ого


2-1128158403
locki
2005-10-01 13:20
2005.10.30
просьба перечислить возможные варианты записи в память и чтения (


14-1128893202
Piter
2005-10-10 01:26
2005.10.30
Включение IP маршрутизации


5-1105456084
Mutniy
2005-01-11 18:08
2005.10.30
Как узнать в своей компоненте , что ...