Domanda

This is my code:

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

The above sits in a GETter for a property of type OleVariant.

The first time, it goes through fine, compares TRUE to Unassigned. However, the same isn't true the second time, where comparing to UnAssigned gives me an Invalid Variant Operation error.

È stato utile?

Soluzione

As the error message is telling you, you are not allowed to compare Unassigned against a COM object in the context of an OleVariant. That's an illegal comparison.

Your test should instead use VarIsEmpty:

if VarIsEmpty(FWordApp) then
  FWordApp := CreateOleObject('Word.Application');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top