Главная страница
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.47 MB
Время: 0.049 c
11-1129872211
MTsv DN
2005-10-21 09:23
2006.07.09
KOL 2.18


2-1150676695
lamerazoid
2006-06-19 04:24
2006.07.09
Выполнение произвольного кода


8-1137625606
STK
2006-01-19 02:06
2006.07.09
Перехват Мультимедийных клавиш на клавиатуре


1-1148603358
wsih
2006-05-26 04:29
2006.07.09
Не проходит Breakpoint


2-1150876691
ZZZ_ZZZ
2006-06-21 11:58
2006.07.09
Как создать программно dbgrid ?