formshow与 formcreate解决方案

formshow与 formcreate
哪位大侠讲下formshow与 formcreate之间的区别哈。
详细点为好,为了这个浪费了好多时间

------解决方案--------------------
Delphi(Pascal) code

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
------解决方案--------------------
探讨

触发条件不同

create是分配内存,formshow是展现,

顺序是create-show

即使没有show 仍可操作对象

但是没有create那么久不可以show了

------解决方案--------------------
探讨

formCreate取決于OldCreateOrder屬性設定:
若為true,在構造函數里面觸發;
若為False,則在AfterConstructor里面執行

formshow取決于Visible屬性的設定:
SetVisible——>發送組件消息Perform(CM_VISIBLECHANGED)——>觸發wincontrol.UpdateControlState——>……