Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
6-1141210521
illmar_kelebrant
2006-03-01 13:55
2006.07.09
Почему UDP - services отказываются работать в DLL?


3-1146895018
Alexandr1
2006-05-06 09:56
2006.07.09
Коннект к БД на локальном компутере из зоны инета


2-1150472512
Neo Trinitron
2006-06-16 19:41
2006.07.09
CreateProcess запуск cmd /c ...


15-1149938804
Vudu
2006-06-10 15:26
2006.07.09
Как оценивать труд программиста?


2-1150796089
Zilog
2006-06-20 13:34
2006.07.09
залипающая кнопка




   Наверх