powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / При NOSHOW форма не удаляется!?
8 сообщений из 8, страница 1 из 1
При NOSHOW форма не удаляется!?
    #33327893
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю запуск формы с NOSHOW, в Initе делаю this.command1.Click, где в клике
Thisform.Release - и... форма не удаляется, если тоже сделать без NOSHOW - все ОК!? Где ошибка???
...
Рейтинг: 0 / 0
При NOSHOW форма не удаляется!?
    #33327961
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы форма закрылась не открываясь надо в событии Init или Load формы дать команду

Код: plaintext
RETURN .F.
...
Рейтинг: 0 / 0
При NOSHOW форма не удаляется!?
    #33328238
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное! Не первый раз помагаете - а я 2 дня ищу правду! :-))))
Только саму ошибку так и не совсем поняла...
Теперь ясно, что retu .f. не дает форме создасться, но что дает? ведь NOSHOW не заходит в Ativate, когда она появляется?
...
Рейтинг: 0 / 0
При NOSHOW форма не удаляется!?
    #33328295
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ошибкой другая логика.

Команда ThisForm.Release() вызванная из INIT-формы просто игнорируется. И не важно, было NOSHOW или не было, была "обернута" команда ThisForm.Release() в другой метод или нет.

Т.е. не должно было это сработать и при отсутствии NOSHOW. Надо "копать" код Вашей формы, что в ней происходит. Проще всего запустить тарссировку перед командой DO FORM и посмотреть какие команды там подаются. Возможно у Вас есть метод закрытия в событии Activate-формы. Там это может сработать.
...
Рейтинг: 0 / 0
При NOSHOW форма не удаляется!?
    #33328359
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все в 2-х словах выглядит так:
Из программы запускается форма 2-мя способами: с параметрами или без.
- Если без параметров, то появляется форма, куда эти параметры, собственно, я и могу забить, кликнуть на кнопку "Сформировать" и получить выборку данных
- или -
С параметрами, тогда я сразу подставляю эти параметры в форму и инициирую нажатие на кнопку "Сформировать", в этом случае мне форма не нужна, чтоб ее видеть
- из этого следует
в Inite формы:
если параметры не пустые, принимаю их и делаю
this.command1.Click
а уже в Clicke:
SQL-запрос, а потом
thisform.Release
И все! И форма не удалена, а если параметров нет, то все-равно в Clicke:
SQL-запрос, а потом
thisform.Release
И все ОК!
???
...
Рейтинг: 0 / 0
При NOSHOW форма не удаляется!?
    #33328396
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМС ошибкой другая логика.
И не важно, было NOSHOW или не было, была "обернута" команда ThisForm.Release() в другой метод или нет.

Извините, не внимательно прочитала - Release то у меня в Clickе, а Click-то из Inita...
...
Рейтинг: 0 / 0
При NOSHOW форма не удаляется!?
    #33328462
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно. Обычная логика. Просто Вы некорректно описали проблему.

Получается примерно такая логика:

Вариант 1:

DO FORM MyForm.SCX

Здесь параметры НЕ заданы. Форма активизируется. И ПОСЛЕ ввода параметров нажимаете кнопку, где и вызываете ThisForm.Release(). Форма благополучно закрывается.

Вариант 2:

DO FORM MyForm.SCX WITH Par1, Par2 NOSHOW

Здесь параметры ЗАДАНЫ. Отрабатывают все положенные события и методы, вызываемые при инициализации формы. Однако сама форма не отображается. Команда ThisForm.Release() в INIT-формы попросту игнорируется.

Выполнение кода не останавливается на команде DO FORM (как в первом варианте), а продолжает выполняться дальше. Это особенность модальных форм. Если такую формы скрыть (не отображать), то выполнение кода на ней не останавливается.

Т.е. внешне, это выглядит как "глюк". Вроде бы все, что положено отработало, но сама форма не удалилась. Однако все вполне корректно. Просто надо иметь в виду 2 положения:

Игнорируется ThisForm.Release() вызванная из INIT-формы

Если модальную форму не отображать, то не происходит ожидания ее закрытия. На команде DO FORM нет остановки выполнения кода.
...
Рейтинг: 0 / 0
При NOSHOW форма не удаляется!?
    #33328495
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир!
Сколько лет вы занимаетесь программированием?!
Покапалась в книгах, перечитала весь форум, Foxclub...
А надо было просто у Вас спросить! ;-))))
Мне кажется, ни один вопрос не введет Вас в тупик?!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / При NOSHOW форма не удаляется!?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]