Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема при использовании метода Show для формы
|
|||
|---|---|---|---|
|
#18+
Господа! Вопрос по VFP8SP1. Имеется класс формы, которая в одном случае должна запускаться как модальная, в другом - как немодальная. На форме есть кноп, вызывающий метод Release. Код в методе вызывающей форме (As Top Level): this.o_ChildForm = CreateObject('forn','MyClasses') После установки параметров: o_ChildForm.Show(2) && сделать как немодальную o_ChildForm.Show(1) && сделать как модальную В случае немодального запуска форма работает как немодальная, и кноп нормально закрывает форму. А вот в случае модального - событие Release при нажатии кнопа происходит, а событие Unload - нет, и форма не выгружается. И в этом случае форму можно закрыть только по Alt+F4 или кнопке стандартного закрытия. Проверял (и пытался установить) значение WindowType. При запуске формы как модальная свойство всё равно равно 0 (как немодальная). В то же время форма работает как модальная. Пытался делать в вызывающей форме: o_ChildForm = null и даже использовал глобальную переменную вместо this.o_ChildForm. В последнем варианте в Click'е кнопа писал: repease o_ChildForn - не помогает. Может, кто нибудь сталкивался с этим? Что я делаю неправильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 12:39 |
|
||
|
Проблема при использовании метода Show для формы
|
|||
|---|---|---|---|
|
#18+
Если ты даешь команду Show(2), то дочерняя форма открывается, но выполнение метода, в котором была дана эта команда не останавливается. Т.е. метод отрабатывает до конца. Если же даешь команду Show(1), то на этой команде происходит остановка. И метод до конца выполнен не будет, пока на дочернюю форму не будет дана команда Hide() или дочерняя форма не будет удалена. Как следствие, родительская форма не может быть удалена, поскольку не завершено выполнение одного из ее методов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2004, 14:24 |
|
||
|
Проблема при использовании метода Show для формы
|
|||
|---|---|---|---|
|
#18+
Владимир, спасибо. Но ты не прав. Я нашёл глюк - он был совсем в другом месте. Всё равно спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 16:36 |
|
||
|
Проблема при использовании метода Show для формы
|
|||
|---|---|---|---|
|
#18+
>Владимир, спасибо. Но ты не прав Да нет, Владимир как обычно прав:) Если ваша ошибка в другом месте это не отменяет правильности описания отличия выполнения кода для модальной и немодальной форм:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2004, 20:47 |
|
||
|
Проблема при использовании метода Show для формы
|
|||
|---|---|---|---|
|
#18+
Господа, не буду спорить. Глючит Wind, и глючит Fox. Дело в том, что форма первоначально была создана в Конструкторе форм. в неё было вставлено много свойств и методов, и когда возникла проблема, то я использовал (от лени) метод SaveAsClass для размещения её в библиотеке. Вот тогда и начались глюки. В конце-концов я создал эту форму в Конструкторе классов (с нуля) - и всё заработало. Вот так. А насчёт использования рекомендуемого Владимиром метода Hide() - так он, если не используется в наборе форм, ничего не даёт - форма остаётся в памяти, и нужно не забыть её потом выкинуть оттуда (thisformset.release увы, в данном случае нет...). Ну и насчёт подвисания метода Show - как вы, вероятно, догадываетесь, я использую _VFP.AutoYield=.F. - поэтому это сразу же было бы заметно. Тем не менее форма нормально выгружалась при нажатии на стандартную кнопку выхода - чего при зависании Show просто бы не происходило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2004, 11:02 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=395&tid=1597199]: |
0ms |
get settings: |
8ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
17ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 292ms |

| 0 / 0 |
