将OleVariant与UnAssigned进行比较时,变量操作无效

时间:2013-08-30 13:16:40

标签: delphi variant

这是我的代码:

**if** FWordApp = UnAssigned **then**
    FWordApp := CreateOleObject('Word.Application') ;
Result := FWordApp;

以上内容位于GETter中,适用于OleVariant类型的属性。

第一次,它很好,比较TRUE和Unassigned。 但是,第二次情况并非如此,与UnAssigned相比,我发现了一个无效的变体操作错误。

1 个答案:

答案 0 :(得分:4)

正如错误消息告诉您的那样,您不能在Unassigned的上下文中将OleVariant与COM对象进行比较。这是非法的比较。

您的测试应使用VarIsEmpty

if VarIsEmpty(FWordApp) then
  FWordApp := CreateOleObject('Word.Application');