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

  • 相关阅读:
    javascript构造函数
    闭包
    跨域资源共享之CORS详解
    浮动元素 —— 怎么使用它们、它们有什么问题以及怎么解决这些问题。
    javascript 简单的入门学习笔记(5月4日)
    CSS样式命名规则
    01-05 isKindOfClass与isMemberOfClass
    setValue和setObject的区别
    00-03 内存泄漏、内存溢出
    00-02 运算符
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/12773388.html
Copyright © 2011-2022 走看看