Code not executed in TFrame.Create <p>I have created a component with TFrame as ancestor with the following code:</p> <pre><code>type TCHAdvFrame = class(TFrame) private { Private declarations } FOnShow : TNotifyEvent; FOnCreate : TNotifyEvent; protected procedure CMShowingChanged(var M: TMessage); message CM_SHOWINGCHANGED; public { Public declarations } constructor Create(AOwner: TComponent) ; override; published property OnShow : TNotifyEvent read FOnShow write FOnShow; property OnCreate : TNotifyEvent read FOnCreate write FOnCreate; end; implementation {$R *.dfm} { TCHAdvFrame } procedure TCHAdvFrame.CMShowingChanged(var M: TMessage); begin inherited; if Assigned(OnShow) then begin ShowMessage('onShow'); OnShow(self); end; end; constructor TCHAdvFrame.Create(AOwner: TComponent); begin ShowMessage('OnCreate1'); inherited ; ShowMessage('OnCreate2'); if Assigned(OnCreate) then begin ShowMessage('OnCreate3'); OnCreate(self); end; </code></pre> <p>I have registered the new component and did some tests. ShowMessage('OnCreate1'); and ShowMessage('OnCreate2'); are correctly executed <strong>but not ShowMessage('OnCreate3');</strong></p> <p>This prevents to add code during the implementation of a new instance of TCHAdvFrame.</p> <p>Why is it and how can I solve this ? </p>