代码之家  ›  专栏  ›  技术社区  ›  UnDiUdin

System.Variants.NullStrictConvert的作用域

  •  1
  • UnDiUdin  · 技术社区  · 6 年前

    在VCL应用程序中避免

    Could not convert variant of type (Null) into type (OleStr)
    

    因为我想要那个空变量

    自动转换为空字符串、0整数或false 布尔运算

    (如下列答案之一所述 this question )

    我设置

    uses System.Variants
    
    //[...]
    
    NullStrictConvert  := False;
    

    可以在 OnCreate VCL应用程序的主数据模块的方法?这个设置是全局的吗?我在 official documentation .

    从测试来看,设置一次就足够了,但我想有一个额外的参考。

    1 回复  |  直到 6 年前
        1
  •  2
  •   David Heffernan    6 年前

    此变量在模块范围内定义,因此具有全局影响。如果修改变量,则模块中随后执行的所有代码都将受到影响。

    其目的是在模块初始化时设置一次该值,然后保持不变。是的,您可以在数据模块中执行此操作 OnCreate ,但就我个人而言 initialization 封锁。