使用Delphi管理变体中的空值
发布时间:2020-12-15 10:14:55 所属栏目:大数据 来源:网络整理
导读:我正在使用一个COM组件,它暴露了很多Variant属性,但有时这些值为null。当我尝试将这些值转换为字符串(或另一种Delphi类型)时,应用程序会引发一个例外: Could not convert variant of type (Null) into type (String) 但是,如果我使用.net来调用相同的属
我正在使用一个COM组件,它暴露了很多Variant属性,但有时这些值为null。当我尝试将这些值转换为字符串(或另一种Delphi类型)时,应用程序会引发一个例外:
但是,如果我使用.net来调用相同的属性,并且值为null,则不会引发异常,并将空值视为空字符串。 我的问题有一种方法来处理这些来自Delphi的空值,避免这些异常? 提前致谢。 解决方法
尝试将
NullStrictConvert设置为False。
由于它是一个全局变量,所以使用它可以减少副作用: var OldNullStrictConvert: Boolean; begin OldNullStrictConvert := NullStrictConvert; NullStrictConvert := False; try // code containing conversions finally NullStrictConvert := OldNullStrictConvert; end; end; (实际上我已经做了一个监护人界面。) 注意:如果可行,我更喜欢像Warren这样的代码。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |