Delphi 啓動流程

Project.DPR
InitExe
InitiateModule
StartExec
   SetExceptionHandler
   InitUnits
          sysInit
            System
               FPUMaskInit
               FPUInit
               系統相關GetVersion....
            Types
            Windows
            Messages
            ActiveX
            SysConst
            SysUtils
            VarUtils
            Variants
            RtlConsts
            TypInfo
            Classes
            Graphics...
            StdCtrls...
            Dialogs....
            Controls...
            Forms
TApplication.Iniatiate
TApplication.CreateForm
TApplication.Run

[SysUtils]
InitExceptions;
[Variants] 
InitializeCriticalSection(LVarTypeSync);
[classes]
InitThreadSynchronization;
AddModuleUnloadProc(ModuleUnload);
GlobalNameSpace := TMultiReadExclusiveWriteSynchronizer.Create;
RegGroups := TRegGroups.Create;
IntConstList := TThreadList.Create;
GlobalFixupList := TThreadList.Create;
[grapics.pas]
InitScreenLogPixels;
InitializeCriticalSection(BitmapImageLock);
InitializeCriticalSection(CounterLock);
StockPen := GetStockObject(BLACK_PEN);
StockBrush := GetStockObject(HOLLOW_BRUSH);
StockFont := GetStockObject(SYSTEM_FONT);
StockIcon := LoadIcon(0, IDI_APPLICATION);
InitDefFontData;
FontManager := TResourceManager.Create(SizeOf(TFontData));
PenManager := TResourceManager.Create(SizeOf(TPenData));
BrushManager := TResourceManager.Create(SizeOf(TBrushData));
PatternManager := TPatternManager.Create;
BitmapCanvasList := TThreadList.Create;
CanvasList := TThreadList.Create;
RegisterIntegerConsts(TypeInfo(TColor), IdentToColor, ColorToIdent);
RegisterIntegerConsts(TypeInfo(TFontCharset), IdentToCharset, CharsetToIdent);
[Controls.pas]
NewStyleControls := Lo(GetVersion) >= 4;
InitControls;
Mouse.create
Screen.create
Application.create
StartClassGroup(TControl);
ActivateClassGroup(TControl);
GroupDescendentsWith(TCustomImageList, TControl);
GroupDescendentsWith(TContainedAction, TControl);
GroupDescendentsWith(TCustomActionList, TControl);
[Forms]
InitProcs;
RM_TaskBarCreated := RegisterWindowMessage('TaskbarCreated');
Classes.RegisterFindGlobalComponentProc(FindGlobalComponent);
[Dialogs.pas]
InitGlobals;
StartClassGroup(TControl);
ActivateClassGroup(TControl);
GroupDescendentsWith(TCommonDialog, TControl);
[Project] 
Application.Initiate
Application.CreateForm
Application.Run
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章