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

Вниз

Проблемы с последовательностью событий формы   Найти похожие ветки 

 
Александр Иванов ©   (2006-06-09 14:56) [0]

Ситуация такая:

В первой форме переопределен конструктор, он получает параметром DataSet и FormStyle

constructor TForm1.Create(owner:TComponent; ActiveDataSet : TOraQuery; Style : TFormStyle);
begin
 inherited Create(self.Owner);
 self.FormStyle := Style;
 self.DSet := ActiveDataSet;
...


Вторая форма является наследником первой. И в ее обработчике onShow я обращаюсь к DSet. Появляется исключение AccessVioletion. Но дебаггер показывает строку ошибки из конструктора первой формы: self.FormStyle := Style;
Переместил обращение в DSet из onShow в onCreate, все заработало.
Но осталось ощущение что я не понял причину.

Подскажите в чем тут может быть проблема.


 
StriderMan ©   (2006-06-09 15:17) [1]

а у наследной формы конструктор тоже свой или как у предка?


 
Александр Иванов ©   (2006-06-09 15:23) [2]

StriderMan ©   (09.06.06 15:17) [1]

У наследника нет ни одного своего конструктора


 
StriderMan ©   (2006-06-09 15:45) [3]

посмотри отладчиком, выполняется ли конструктор предка


 
Александр Иванов ©   (2006-06-09 16:09) [4]

StriderMan ©   (09.06.06 15:45) [3]
Цитата из [0]:
Но дебаггер показывает строку ошибки из конструктора первой формы: self.FormStyle := Style;


 
Игорь Шевченко ©   (2006-06-09 16:16) [5]


> Но дебаггер показывает строку ошибки из конструктора первой
> формы: self.FormStyle := Style;


Потому что исключение происходит, скорее всего в inherited Create.
Если у формы установлено свойство Visible в true, то OnShow будет выполнено в inherited Create


 
Александр Иванов ©   (2006-06-09 16:28) [6]

Игорь Шевченко ©   (09.06.06 16:16) [5]

Да Visible установлено в True. Спасибо, не сообразил.



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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
1-1148558415
Juice
2006-05-25 16:00
2006.07.09
Как удалить в RunTime экшен из TActionManager a ?


2-1150865087
mctarik
2006-06-21 08:44
2006.07.09
Как передать строку в коммандную строку...


2-1150405429
serko
2006-06-16 01:03
2006.07.09
Запуск 1-ой копии проги!


15-1149740292
syte_ser78
2006-06-08 08:18
2006.07.09
к владельцам WAP сайтов


15-1150106759
Tirael
2006-06-12 14:05
2006.07.09
калькулятор