L’usage des VARIANTS dans les ActiveX est pratique notament pour communiquer avec des langages non typés comme le scripting.
Exemple d'un retour de fonction type simple
[id(1)] HRESULT MaFunction([out,retval] VARIANT *pVar);
STDMETHODIMP CMaClass::MaFunction(VARIANT *pVar)
{
.......
pVar->vt = VT_I4;
if (!bErreur)
pVar->lVal = (long)IDRecord;
else
pVar->lVal = 0L;
return S_OK;
}
| |