zoukankan      html  css  js  c++  java
  • 教程-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

  • 相关阅读:
    Java Web之Servlet入门篇(二)
    『一本通』KMP算法
    P2865 [USACO06NOV]Roadblocks (次短路)
    字符串算法
    『一本通』哈希和哈希表
    『一本通』广搜的优化技巧
    [SCOI2011]糖果(差分约束系统)
    『一本通』二分与三分
    『一本通』贪心
    『P1122』最大子树和
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/12773388.html
Copyright © 2011-2022 走看看