formshow与 formcreate
哪位大侠讲下formshow与 formcreate之间的区别哈。
详细点为好,为了这个浪费了好多时间
[解决办法]
var a: tform;begin a := tform.Create(nil); //formcreate a.show; //formshow; a.hide; a.show; //formshow; a.free;end;
[解决办法]
触发条件不同
create是分配内存,formshow是展现,
顺序是create-show
即使没有show 仍可操作对象
但是没有create那么久不可以show了
[解决办法]
formCreate取決于OldCreateOrder屬性設定:
若為true,在構造函數里面觸發;
若為False,則在AfterConstructor里面執行
formshow取決于Visible屬性的設定:
SetVisible——>發送組件消息Perform(CM_VISIBLECHANGED)——>觸發wincontrol.UpdateControlState——>若是Form觸發 UpdateShowing——>發送組件消息Perform(CM_SHOWINGCHANGED)——>執行消息處理函數CMShowingChanged——>執行DoShow——最終觸發Onshow
[解决办法]