Текущий архив: 2003.04.03;
Скачать: CL | DM;
ВнизОшибка при закрытии дочернего окна Найти похожие ветки
← →
KMI (2003-03-21 19:58) [0]Друзья, помогите чайнику, пожалуйста!
У меня MDI-приложение. Все дочерние формы после использования уничтожаются методомFormName.Free
. Но у одной из форм при этом вылезает ошибка с сообщением "Access violation at address 00403490 in module "Galaxy.exe". Read of address BAADF00D."
После закрытия сообщения форма уничтожается и все работает стабильно.
Я проверил код, ошибка связана именно с выше приведенным методом уничтожения, точнее, с командой Destroy. Чем может быть вызвана такая ошибка, подскажите, пожалуйста...
← →
mrcat (2003-03-21 20:05) [1]>>Чем может быть вызвана такая ошибка, подскажите, пожалуйста...
истина где-то там...
← →
KMI (2003-03-21 20:13) [2]Только вот где... :(
Добавлю, что потом, до закрытия приложения, ошибка больше не повторяется даже при вызове формы, закрытие которой ее вызвало.
← →
mrcat (2003-03-21 20:16) [3]код нужен.
← →
KMI (2003-03-21 20:26) [4]Из главной формы дочерние вызываются кликом на рисунке:
procedure TForm1.ImageOp2Click(Sender: TObject);
begin
Application.CreateForm(TMaterialOut, MaterialOut);
end;
Дочерние закрываются кнопкой, которой присвоено действие с обработчиком:
procedure TMaterialOut.CloseFormExecute(Sender: TObject);
begin
MaterialOut.Free;
end;
← →
mrcat (2003-03-21 20:42) [5]
procedure TMaterialOut.CloseFormExecute(Sender: TObject);
begin
MaterialOut.Free;
end;
что такое MaterialOut? экземпляр в рамках проекта? так делать низя ;)
← →
KMI (2003-03-21 21:20) [6]А как ты делаешь?
← →
MBo (2003-03-21 21:46) [7]в OnClose сделай Action=caFree
← →
KMI (2003-03-21 23:43) [8]>MBo
СПАСИБО! :)))
Страницы: 1 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.008 c