![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 06.11.2009
Сообщений: 203
|
![]()
Всем доброго времени суток!
Представим себе, что есть форма, на которой есть кнопка, по нажатию на которую подсчитывается какой-либо результат и открывается новая форма с этим самым результатом (через Show Modal). После того, как форма с результатом закрывается, и нашу предыдущую форму также нужно закрыть (именно форму, а не все приложение. Подскажите, что я делаю не так (процеда, выполняемая по клику на первой форме: Код:
Я предполагал, что до того, как модальную форму не закроют, событие Close в первой форме вызываться не будет. Но получается, что время от времени оно срабатывает неверно. Как можно поступить более грамотно?) Закрывать основную форму через команду в модальной - не очень приемлемо, потому что эта модальная форма вызывается еще также для 100 других форм. И вводить новую переменную для отлова того, из какой формы была вызвана модальная, а потом обрабатывать результат - не очень хочется, ибо очень много работы.
Интересный проект по изучению английского:
Английский в формате путешествия по США Последний раз редактировалось Dennis777; 06.12.2014 в 00:19. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
![]()
Вместо Close вызывайте Form<номер_формы>.close
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
какая ошибка то выскакивает?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 06.11.2009
Сообщений: 203
|
![]()
А ошибка, access violation чего то там. Сейчас попробую вызвать её еще разок.
Вадим Мошев, сейчас попробую. Но по идее ведь одно и то же должно быть? Просто ошибку эту специально трудно словить. Она каким-то рандомным образом появляется в определенные дни, потом не встречается неделю. А сегодня вот - 5 раз за день...
Интересный проект по изучению английского:
Английский в формате путешествия по США |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
![]() Цитата:
Что такое Close сам по себе - не интересовался никогда, а метод класса TForm с таким названием, который вызывается так: <переменная_класса_TForm>.close (например, form1.close), закрывает форму, от имени которой мы вызывали этот метод. |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
![]()
А где создание Form33.Create?
Access Violation выскакивает, если вы обращаетесь к чему-то несуществующему... Так что вы не стесняйтесь, дайте весь текст procedure TForm11.sSpeedButton2Click(Sender: TObject); ![]() |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
![]() Цитата:
http://www.delphi-manual.ru/lesson8.php |
|
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
![]() Цитата:
Вы полагаете, что все 33 формы (или сколько их там у ТС) создаются автоматически? Тоды - "ой"... |
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 06.11.2009
Сообщений: 203
|
![]()
Нет, формы создавались не автоматически. После закрытия удалялись, при открытии создавались. Но проблема, была таки в том, что вместо Form1.Close я писал просто Close.
Хотя для меня это странно, учитывая то, что с Клоз оно все равно закрывает спокойно. Разьве что в случае с модальной формой тупит иногда)
Интересный проект по изучению английского:
Английский в формате путешествия по США |
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]() Код:
![]()
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 05.01.2015 в 08:39. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
закрытие формы по escape - "правильное" решение и проблемы | AnTe | Общие вопросы Delphi | 3 | 05.06.2014 08:13 |
Правильное уничтожение формы с веббраузером. | Dennis777 | Общие вопросы Delphi | 1 | 21.03.2014 08:59 |
Правильное применение методов формы | Shouldercannon | Общие вопросы Delphi | 5 | 15.10.2013 13:35 |
Закрытие формы | Dennis777 | Общие вопросы Delphi | 5 | 20.06.2013 22:46 |
Правильное закрытие приложения в Delphi 7 | Alex Cones | Общие вопросы Delphi | 5 | 18.04.2009 22:06 |