Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.03 c
14-1121273671
Е-клмн
2005-07-13 20:54
2005.08.07
Я - идиот. Вы? (Да Нет)


1-1121927266
MAVr
2005-07-21 10:27
2005.08.07
Возможно ли изменить атрибуты файла?


6-1114460382
Erich
2005-04-26 00:19
2005.08.07
Аналог HyperTerminal


14-1121360156
Sanya_BS
2005-07-14 20:55
2005.08.07
Неохото заправлять картриджи самому. Нужны причины для отказа.


4-1118325354
Андрей Жук
2005-06-09 17:55
2005.08.07
Какой функцией можно получить параметры памяти процесса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский