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-}

  • 相关阅读:
    MySQL全文索引--转载
    提升接口tps
    数据库连接池了解和常用连接池对比
    SpringBoot跨域配置,解决跨域上传文件
    oss上传
    MySQL高级 之 explain
    spring cloud集群负载均衡
    Xmind日常操作
    产品经理应该懂点经济学
    初谈产品
  • 原文地址:https://www.cnblogs.com/yangxuming/p/6703995.html
Copyright © 2011-2022 走看看