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

  • 相关阅读:
    9 Fizz Buzz 问题
    2 尾部的零
    1 A+B问题
    递归
    互斥同步
    垃圾收集器与内存分配策略---垃圾收集算法
    10.矩形覆盖
    9.变态跳台阶
    8.跳台阶
    9.path Sum III(路径和 III)
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/12773388.html
Copyright © 2011-2022 走看看