这是我的代码:
**if** FWordApp = UnAssigned **then**
FWordApp := CreateOleObject('Word.Application') ;
Result := FWordApp;
以上内容位于GETter中,适用于OleVariant类型的属性。
第一次,它很好,比较TRUE和Unassigned。 但是,第二次情况并非如此,与UnAssigned相比,我发现了一个无效的变体操作错误。
答案 0 :(得分:4)
正如错误消息告诉您的那样,您不能在Unassigned
的上下文中将OleVariant
与COM对象进行比较。这是非法的比较。
您的测试应使用VarIsEmpty
:
if VarIsEmpty(FWordApp) then
FWordApp := CreateOleObject('Word.Application');