gpt4 book ai didi

delphi - 使用 Delphi 管理变体中的空值

转载 作者:行者123 更新时间:2023-12-03 14:34:56 26 4
gpt4 key购买 nike

我正在使用一个 COM 组件,该组件公开了许多 Variant 属性,但有时这些值为 null。当我尝试将这些值转换为字符串(或其他 Delphi 类型)时,应用程序会引发如下异常:

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

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

我的问题是有一种方法可以处理 Delphi 中的这些空值以避免这些异常吗?

提前致谢。

最佳答案

尝试设置NullStrictConvert为假。

由于它是一个全局变量,我按如下方式使用它来最大程度地减少副作用:

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

(实际上我已经用它制作了一个监护人界面。)

注意:在可行的情况下,我更喜欢像 Warren 这样的代码的。

关于delphi - 使用 Delphi 管理变体中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5940957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com