hello:
In this thread http://forums.codeblocks.org/index.php/topic,10641.0.html (http://forums.codeblocks.org/index.php/topic,10641.0.html)
class ATL_NO_VTABLE CHyperLinkImpl : public ATL::CWindowImpl< T, TBase, TWinTraits >
{
public:
LPTSTR m_lpstrLabel;
LPTSTR m_lpstrHyperLink;
HCURSOR m_hCursor;
HFONT m_hFont;
HFONT m_hFontNormal;
};
codes above can be parsed correctly now.
here is the patch
Index: parserthread.cpp
===================================================================
--- parserthread.cpp (revision 5696)
+++ parserthread.cpp (working copy)
@@ -1345,6 +1357,8 @@
}
}
}
+ else
+ m_Tokenizer.GetToken();
}
else
break;
[attachment deleted by admin]
It seems "CHyperLinkImpl " has no Ancestors.
I found that too .because CWindowImpl didnt exist in this case.
class MyClass
{
int x;
int y;
};
class ATL_NO_VTABLE CHyperLinkImpl : public MyClass
{
LPTSTR m_lpstrLabel;
LPTSTR m_lpstrHyperLink;
HCURSOR m_hCursor;
HFONT m_hFont;
HFONT m_hFontNormal;
};
in this case ,it will have one . :D
aha, it really works if its ancestor is a template.
template<typename T1, typename T2>
class MyClass
{
T1 x;
T2 y;
};
class ATL_NO_VTABLE CHyperLinkImpl1 : public MyClass<float,int>
{
LPTSTR m_lpstrLabel;
LPTSTR m_lpstrHyperLink;
HCURSOR m_hCursor;
HFONT m_hFont;
HFONT m_hFontNormal;
};
This still works fine!!