加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用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类型)时,应用程序会引发一个例外:

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

但是,如果我使用.net来调用相同的属性,并且值为null,则不会引发异常,并将空值视为空字符串。

我的问题有一种方法来处理这些来自Delphi的空值,避免这些异常?

提前致谢。

解决方法

尝试将 NullStrictConvert设置为False。

由于它是一个全局变量,所以使用它可以减少副作用:

var
  OldNullStrictConvert: Boolean;
begin
  OldNullStrictConvert := NullStrictConvert;
  NullStrictConvert := False;
  try
    // code containing conversions
  finally
    NullStrictConvert := OldNullStrictConvert;
  end;
end;

(实际上我已经做了一个监护人界面。)

注意:如果可行,我更喜欢像Warren这样的代码。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读