From 02c532d38c0dfdb1a35f71052872d603d7da9321 Mon Sep 17 00:00:00 2001 From: fjxisba <70528499+fjxisba@users.noreply.github.com> Date: Wed, 2 Dec 2020 15:03:45 +0800 Subject: [PATCH] Update tlbodl.cpp Hi,I found that your code is a little different from the system module. so please check it(The same as VC2008Samples). --- VC2010Samples/MFC/ole/oleview/iviewers/tlbodl.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/VC2010Samples/MFC/ole/oleview/iviewers/tlbodl.cpp b/VC2010Samples/MFC/ole/oleview/iviewers/tlbodl.cpp index 0c1575f0..83f7f736 100644 --- a/VC2010Samples/MFC/ole/oleview/iviewers/tlbodl.cpp +++ b/VC2010Samples/MFC/ole/oleview/iviewers/tlbodl.cpp @@ -1374,12 +1374,19 @@ HRESULT CTypeLibODLView::DeCompileCoClass( IStream* pstm, ITypeInfo* pti, UINT u WRITE(_T("] ")); } - if (pattrImpl->typekind == TKIND_INTERFACE) + if (pattrImpl->typekind == TKIND_INTERFACE || (pattrImpl->wTypeFlags & TYPEFLAG_FDUAL)) + { WRITE(_T("interface ")) ; - - if (pattrImpl->typekind == TKIND_DISPATCH) + } + else if (pattrImpl->typekind == TKIND_DISPATCH) + { WRITE(_T("dispinterface ")) ; - + } + else + { + WRITE(_T("")) ; + } + WRITE( bstrName ) ; WRITECR(_T(";")) ;