Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2015, 11:29   #1
igelchen
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 14
По умолчанию Error при free, destroy, release

Всем здравствуйте.

хотелось бы при закрытии формы, ее разрушить, чтобы при следующем открытии она полностью обновлялась (поэтому close, hide не подходит). Использовала такие функции как: destroy, free, release -> но на них выскакивает ошибка при вторичном открытии этой формы: Project raised exception class 'External:SIGSEGV'. Помогите пожалуйста очень надо
igelchen вне форума Ответить с цитированием
Старый 11.09.2015, 11:32   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы вместо убитой формы новую создали?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.09.2015, 11:49   #3
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

пример динамического создания модальной формы:
Код:
function showInfo(): Boolean;
var
  frm: TfrmInfo;
begin
  frm := TfrmInfo.Create(Application.MainForm);
  try
    // инициализируем поля формы и т.д.
    // показываем форму
    Result := mrOk = frm.ShowModal;
  finally
    frm.Free;
  end;
end;
только форму убери из автосоздания (Project - Options - 1я вкладка с двумя списками - перенести форму во второй список)
если нужно чтоб работало одновременно две формы, то тут уже реализуем синглтон и разбиваем код на показать/скрыть, которые уже создают/уничтожают форму + используем метод Show
GreenWizard вне форума Ответить с цитированием
Старый 11.09.2015, 12:07   #4
igelchen
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 14
По умолчанию

Цитата:
Сообщение от GreenWizard Посмотреть сообщение
пример динамического создания модальной формы:
Код:
function showInfo(): Boolean;
var
  frm: TfrmInfo;
begin
  frm := TfrmInfo.Create(Application.MainForm);
  try
    // инициализируем поля формы и т.д.
    // показываем форму
    Result := mrOk = frm.ShowModal;
  finally
    frm.Free;
  end;
end;
только форму убери из автосоздания (Project - Options - 1я вкладка с двумя списками - перенести форму во второй список)
если нужно чтоб работало одновременно две формы, то тут уже реализуем синглтон и разбиваем код на показать/скрыть, которые уже создают/уничтожают форму + используем метод Show
Убрала форму из автосоздания, тут появилась другая ошибка: database not assigned....
igelchen вне форума Ответить с цитированием
Старый 11.09.2015, 12:13   #5
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

ищи где там её присваивают и присваивай)
GreenWizard вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что вызывать для удаления объектов из памяти? Free||Destroy alextrof94 Общие вопросы Delphi 6 27.04.2013 02:39
как убрать Access Violation при Destroy компонента? ZuBy Компоненты Delphi 11 01.09.2010 19:44
Eclipse + QT: release error SunKnight Свободное общение 0 21.03.2009 15:53
Form1.Free; Abstract Error Манжосов Денис :) Общие вопросы Delphi 3 21.08.2008 15:46
Free Pascal(2.0.4) ошибка: Error while linking Акашаев Нурлан Паскаль, Turbo Pascal, PascalABC.NET 2 04.08.2007 10:10