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

  • 相关阅读:
    6大开源SIEM工具,安全信息和事件管理的“利器”
    数据库为何需要安全审计系统
    WEB漏洞扫描的开源工具
    12种开源Web安全扫描程序
    开源框架openresty+nginx 实现web应用防火墙(WAF)
    锦衣盾:开源WEB应用防火墙介绍
    20步打造最安全的Nginx Web服务器
    MySQL数据库审计系统
    数据库(分库分表)中间件对比
    Mysql调优基础、Mysql问题排查、Mysql优化、与hikari数据库连接池配合
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/12773388.html
Copyright © 2011-2022 走看看