Pelles C forum
Pelles C => Add-ins => Topic started by: TimoVJL on September 12, 2012, 04:14:46 PM
-
Modified TypeLib Add-In.
I think that those IUnknown methods was at wrong place.
BufCat(pOut, _T("\t// IUnknown methods\n"));
BufCat(pOut, _T("\tSTDMETHOD(QueryInterface)(THIS,REFIID,void**);\n"));
BufCat(pOut, _T("\tSTDMETHOD_(ULONG,AddRef)(THIS);\n"));
BufCat(pOut, _T("\tSTDMETHOD_(ULONG,Release)(THIS);\n"));
if (fDispatch)
{
BufCat(pOut, _T("\t// IDispatch methods\n"));
BufCat(pOut, _T("\tSTDMETHOD(GetTypeInfoCount)(THIS,UINT*);\n"));
BufCat(pOut, _T("\tSTDMETHOD(GetTypeInfo)(THIS,UINT,LCID,ITypeInfo**);\n"));
BufCat(pOut, _T("\tSTDMETHOD(GetIDsOfNames)(THIS,REFIID,LPOLESTR*,UINT,LCID,DISPID*);\n"));
BufCat(pOut, _T("\tSTDMETHOD(Invoke)(THIS,DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);\n"));
}
BufCat(pOut, _T("\t// %ls methods\n"), pwszTypeName);
EDIT 20121129 Fixed THIS
-
You may be right, I'll check it out.
EDIT: It looks as if you are right, I've updated my web site with your update.
Thanks.
John
-
Oh right, thanks. I've uploaded the second one to my web site.
John
-
DumpTypeInfo()
TKIND_ENUM TKIND_RECORD TKIND_UNION TKIND_ALIAS
If these types are written to Forward area, they are easier to find and edit/fix.
fix pOut -> &Fwd
case TKIND_ENUM:
if (LookupName(bstrTypeName)) break;
if (bstrComment != NULL && *bstrComment != L'\0')
BufCat(&Fwd, L"\n/* %ls */\n", bstrComment);
else
BufCat(&Fwd, L"\n");
DumpEnumType(&Fwd, bstrTypeName, bstrTypeName, pTypeAttr, pITypeInfo);
break;
case TKIND_RECORD:
case TKIND_UNION:
if (LookupName(bstrTypeName)) break;
if (bstrComment != NULL && *bstrComment != L'\0')
BufCat(&Fwd, L"\n/* %ls */\n", bstrComment);
else
BufCat(&Fwd, L"\n");
DumpRecordType(&Fwd, bstrTypeName, bstrTypeName, pTypeAttr, pITypeInfo);
break;
case TKIND_ALIAS:
if (bstrComment != NULL && *bstrComment != L'\0')
BufCat(&Fwd, L"\n/* %ls */\n", bstrComment);
else
BufCat(&Fwd, L"\n");
DumpAliasType(&Fwd, bstrTypeName, pTypeAttr, pITypeInfo);
TKindPrev = TKIND_ALIAS;
break;
-
If you have updated the project send it to me and I'll update the web site.
John
-
Latest version for testing.
I someone finds errors, just let us know about them too.
EDIT 2016-06-24: fix for WTypeLibList2, in TKIND_DISPATCH , stupid mistake.