System.Variants.NullStrictConvert的范围

Scope of System.Variants.NullStrictConvert

在 VCL 应用程序中 tt 避免

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

错误,因为我想要 Null 变体

to be automatically converted to empty strings, 0 integers, or false booleans

(如 this question 的答案之一所述)

我设置

uses System.Variants

//[...]

NullStrictConvert  := False;

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

中找不到此信息

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

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

目的是在模块初始化时设置一次值,然后保持不变。是的,您可以在数据模块 OnCreate 中执行此操作,但我个人会在单元 initialization 块中进行更改。