zoukankan      html  css  js  c++  java
  • DELPHI 的 {$M +} 和{$M -}

    在TPersistent的声明中多了M编译开关,当{$M +} 与{$TYPEINFO ON} 作用是一样的, 而{$M -} 与{$TYPEINFO OFF}
    相同。当一个类在{$M +} 和{$M -}间声明时,程序编译器将为类生成与RTTI(Runtime Type Information)相关的代码来完成
    类的published的属性,方法和事件的存储工作。并且该类子类的published属性,方法和事件也具有存取特性。如果一个类
    或祖先类都没有在{$M +} 和{$M -}间声明时,则该类不能有published的实行,事件和方法。

    例如 System.Classes 中的

    {$M+}

      TPersistent = class(TObject)
      private
        procedure AssignError(Source: TPersistent);
      protected
        procedure AssignTo(Dest: TPersistent); virtual;
        procedure DefineProperties(Filer: TFiler); virtual;
        function GetOwner: TPersistent; dynamic;
      public
        destructor Destroy; override;
        procedure Assign(Source: TPersistent); virtual;
        function GetNamePath: string; dynamic;
      end;

    {$M-}

  • 相关阅读:
    后缀表达式
    约瑟夫环
    能手进阶:Linux操作琐细驱动编译与运转
    VLC 0.8.5
    Gimpshop 2.2.11
    Blender 2.42
    有助于数据确立平安环境的次要效率阐明');
    DivFix 0.20
    Ubuntu Dapper 提速脚本
    你值得知道的五佳非主流阅读器
  • 原文地址:https://www.cnblogs.com/yangxuming/p/6703995.html
Copyright © 2011-2022 走看看