|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.04.2011, 23:34 | #1 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 14
|
Возникает ошибка исключения при повторном открытии формы
Ситуация: Приложение Delphi 7 подключена к БД Access.
При тестировании приложения по F8 ошибок 0. Через F9 открывается главная форма - нормально. Через меню главной формы открываю модально другую форму - нормально. Закрываю модальную форму - нормально. При повторном открытии этой модальной формы возникает ошибка исключения. Скрины прилагаю. Кто мучился с данной проблемой? Как можно её решить? |
23.04.2011, 00:08 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Похоже вы стучитесь к свойству (или переменной) формы, для которой раньше был выполнен метод Free
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
23.04.2011, 18:33 | #3 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 14
|
А делать то что надо? Чтобы стучаться куда надо.
|
23.04.2011, 23:32 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Делайте для модального вызова без всяких предварительных проверок примерно так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
24.04.2011, 16:43 | #5 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 14
|
Закоментировал запись так:
Код: Код:
Но Ваш код мне показался изящнее. Интересно, много таких, которые эспериментируют от большого ума и неистребимого желания узнать: "что будет, если сделать так"? Последний раз редактировалось Stilet; 24.04.2011 в 17:45. |
24.04.2011, 17:40 | #6 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Как вы полагаете какую форму вы закрываете Close;
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
24.04.2011, 19:06 | #7 |
Холост/Не замужем
Форумчанин
Регистрация: 13.11.2007
Сообщений: 283
|
А что у вас формы не создаются автоматически?
Было бы достаточно только Код:
Последний раз редактировалось Gulik; 24.04.2011 в 19:10. |
25.04.2011, 09:17 | #8 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 14
|
Полагаю, что это проверка типа, "если эта форма открыта, то сначала её надо закрыть". Могу оказаться и неправ.
|
25.04.2011, 09:30 | #9 |
Пользователь
Регистрация: 04.02.2007
Сообщений: 14
|
Формы в опциях этого проекта Delphi стояли в avto-create, потом перекинул в avialable. С выводом форм приложения ничего не изменилось.
Мой гуру М.Фленов, поэтому по его "Библии" я добавляю строки в код. Возможно выходит "масло маслянное". Но принципиально не догоняю, почему не хочет восприниматься (скорее всего системой, ведь Delphi на это при проверке на ошибки не реагирует) проверка "Если форма активна, тогда закрыть" |
25.04.2011, 13:09 | #10 | |||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Я не просто так спросил
Цитата:
1. Цитата:
Упоминание метода БЕЗ префикса относится к настоящему объекту(т.е здесь это будет главная форма) а при закрытии главной формы закрывается ВСЕ приложение. 2. Цитата:
создаете новую форму которая будет уничтожена вместе владельцем главной формы(приложением). 3. Цитата:
Где ВНИМАНИЕ! происходит УНИЧТОЖЕНИЕ(см. П1) главной формы приложения как объекта ООП, и всех подчиненных ему объектов, в т.ч. вновь созданной формы. КОД программы ПРОДОЛЖАЕТ работать. 3. Цитата:
комментарий на строку включающую close отменяет закрытие главной формы, проложения и т.д. В результате все хорошо.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 25.04.2011 в 13:14. |
|||||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сохранение, введенного пользователем, значения в поле TextBox, при повторном вызове формы | Denis Ch | Microsoft Office Excel | 28 | 02.02.2012 01:12 |
При закрытии Word возникает ошибка | sewer777 | Microsoft Office Word | 3 | 20.10.2011 13:19 |
при открытии Recordset'a возникает переполнение стека | MrGB | Microsoft Office Access | 3 | 16.11.2010 20:15 |
Ошибка sql запроса при открытии формы | R Dmitry | Microsoft Office Access | 0 | 08.07.2010 02:04 |
При открытии двойным щелчком раздела возникает ошибка( | DEMONENOC | Операционные системы общие вопросы | 3 | 30.06.2009 05:02 |