Ik heb het in jouw voorbeeld even getest en bij mij is de Handle van een TPanel in de constructor wel gelijk aan de Handle tijdens het runnen.
Code:
constructor TMijnForm.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
showmessage(inttostr(Panel1.Handle));
end;
procedure TMijnForm.Button1Click(Sender: TObject);
begin
showmessage(inttostr(Panel1.Handle));
end;
Weet je zeker dat je er niet iets anders fout gaat?
Ik neem aan dat de constructor wel meer doet dan alleen dit anders kun je dit ook in een OnCreate-event doen zonder de override. Je zou natuurlijk kunnen proberen de Observer.Create wel in de FormCreate te doen maar het mag niks uitmaken omdat de FormCreate gedaan wordt in de inherited Create.
Bookmarks