Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.07;
Скачать: CL | DM;

Вниз

AV при создании формы-фрейма   Найти похожие ветки 

 
Defunct ©   (2005-07-16 20:25) [0]

Здравствуйте.
Весьма странная ситуация.. с виду безобидная конструкция вызывает исключение где-то в недрах VCL причем никак не могу отловить где именно происходит исключение...

Блок Try-Except исключение отлавливает, после чего программа работает так, как запланировано.. Но мне этот AV очень не нравится.

Код:

procedure TMainForm.AfterKPSelected(const AControlPoint : TControlPoint);
....
 try
    Child := TMDIChild.Create( Self );  // <-- Здесь AV
 except
    on E:Exception do HandleException(ClassName, E);  
 end;

 ....
// далее идет инициализация фрейма
 Child.Init(ftSurface, fName, AControlPoint, CopyBuffer);
// отрабатывает без проблем, и далее все работает (вроде бы?) без глюков
 ...


Конструкторы:

constructor TMDIChild.Create;
begin
 inherited;
 fDC := nil;
end;


на форме располагается фрейм, его конструктор:

constructor TDFrame.Create;
begin
 inherited;
 fDC := nil;
 fCluster := False;
; <--- здесь AV (fCluster/fDC -  поля, а не свойства)
end;


конструкторы очень чудесно выполняются, и после Cluster := False (перед end) возникает исключение.. Секции AfterConstruction нет, подскажите если кто с таким сталкивался в чем может быть проблема и как можно найти где именно происходит AV?

PS: MDIChild форма создается с wsMaximized, вначале думал может быть проблема в обработчиках OnResize, но туда при отладке даже не заходит..


 
Defunct ©   (2005-07-16 20:41) [1]

Вопрос снимается, все оказалось тривиально просто ;>
прошелся с use debug DCU"s и сразу же нашел ошибку.

в OnActivate было обращение к fDC.


 
Юрий Зотов ©   (2005-07-16 21:24) [2]

Если в конструкторах нет другого кода, то оба они не нужны.


 
Defunct ©   (2005-07-16 21:35) [3]

> Юрий Зотов

кода другого нет, иначе бы поставил многоточия.
их вначале и не было, написал в поисках AV...



Страницы: 1 вся ветка

Текущий архив: 2005.08.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
1-1121203658
КАСК
2005-07-13 01:27
2005.08.07
Где находится список того, в какой очерёдности находятся


14-1121340552
BigJogan
2005-07-14 15:29
2005.08.07
Работа программистам


1-1121508981
286
2005-07-16 14:16
2005.08.07
Проблема с кодировкой


14-1121326706
Виталий123
2005-07-14 11:38
2005.08.07
Написание драйверов


4-1118396699
Андрей Жук
2005-06-10 13:44
2005.08.07
Почему такой вот код неверно работает?