Hi, Ciao, Marcus Changelog: Silence one FIXME(). Implement ITypeInfo::GetDocumentation for variable descriptions. Index: typelib.c =================================================================== RCS file: /home/wine/wine/dlls/oleaut32/typelib.c,v retrieving revision 1.78 diff -u -r1.78 typelib.c --- typelib.c 8 Nov 2002 18:51:28 -0000 1.78 +++ typelib.c 10 Nov 2002 21:08:29 -0000 @@ -4309,7 +4307,8 @@ argspos += arglen; } else { TYPEDESC *tdesc = &(pFDesc->funcdesc.lprgelemdescParam[i].tdesc); - FIXME("set %d to pointer for get (type is %d)\n",i,tdesc->vt); + if (tdesc->vt != VT_PTR) + FIXME("set %d to pointer for get (type is %d)\n",i,tdesc->vt); /*FIXME: give pointers for the rest, so propertyget works*/ args[argspos] = (DWORD)&args2[args2pos]; @@ -4418,6 +4417,8 @@ * * Retrieves the documentation string, the complete Help file name and path, * and the context ID for the Help topic for a specified type description. + * + * (Can be tested by the Visual Basic Editor in Word for instance.) */ static HRESULT WINAPI ITypeInfo_fnGetDocumentation( ITypeInfo2 *iface, MEMBERID memid, BSTR *pBstrName, BSTR *pBstrDocString, @@ -4452,8 +4453,13 @@ } for(pVDesc=This->varlist; pVDesc; pVDesc=pVDesc->next) if(pVDesc->vardesc.memid==memid){ - FIXME("Not implemented\n"); - return S_OK; + if(pBstrName) + *pBstrName = SysAllocString(pVDesc->Name); + if(pBstrDocString) + *pBstrDocString=SysAllocString(pVDesc->HelpString); + if(pdwHelpContext) + *pdwHelpContext=pVDesc->HelpContext; + return S_OK; } } return TYPE_E_ELEMENTNOTFOUND;