高人请进来
本人在调试一个系统时遇到一个奇怪的问题,编译通过,但是在运行时出错,经过断点跟踪,发现Form中的constructor create 和Form本身的Create执行顺序乱了,如下代码段:
constructor TBaseFormDataNavChild.Create(AOwner: TComponent;
AMoudleName: string = '');
begin
1 inherited Create(AOwner, AMoudleName);
2 with lc_SalaryMainForm.dxBarListWindows do
3 begin
4 Items.AddObject(Self.Caption, Self);
5 end;
6 da := TDataAccess.Create(Self);
end;
procedure TBaseFormDataNavChild.FormCreate(Sender: TObject);
begin
7 inherited;
8 CreatePopMenu;
end;
在我本机调试时的执行顺序是:1,7,8,2,3,4,5,6 ,为什么会是这样?请高人指点,不胜感谢!