Delphi 启动流程

我与影子孤独终老i 提交于 2020-04-26 14:10:53

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

















































































易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!