Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.173 c