0
点赞
收藏
分享

微信扫一扫

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

举报

相关推荐

0 条评论