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

  • 相关阅读:
    Vue 移动端向上滑动加载
    关于NPOI 判断Office 是否为空的操作
    定时任务的处理
    Web中线程与IIS线程池自动回收机制
    本地VS调试服务器 IIS 程序
    每天学点node系列-stream
    聊聊前端模块化开发
    位运算解决多标签问题【原创】
    <未来世界的幸存者> 读后感(现实篇和职业篇)【原创】
    Nest.js你学不会系列-初识Nest
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/12773388.html
Copyright © 2011-2022 走看看