Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign
Please help me fix it, I find the reasons!
Loaden:
I found that VC compiler auto-complete function can not be used for it.
Because the VC header files is special, example:
--- Code: ---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;
--- End code ---
if remove ATL_NO_VTABLE, it's became:
--- Code: ---class CHyperLinkImpl : public ATL::CWindowImpl< T, TBase, TWinTraits >
{
public:
--- End code ---
it's work fine!
Have any way to fix it?
Thanks!!
MortenMacFly:
--- Quote from: Loaden on May 31, 2009, 06:15:08 pm ---Have any way to fix it?
--- End quote ---
You can try the CC replacements -> replace ATL_NO_VTABLE with "" (nothing).
Settings -> Editor -> CC & Symbols browser -> Tab "C++ parser" -> Add a "replacement" token.
Loaden:
--- Quote from: MortenMacFly on May 31, 2009, 08:34:57 pm ---
--- Quote from: Loaden on May 31, 2009, 06:15:08 pm ---Have any way to fix it?
--- End quote ---
You can try the CC replacements -> replace ATL_NO_VTABLE with "" (nothing).
Settings -> Editor -> CC & Symbols browser -> Tab "C++ parser" -> Add a "replacement" token.
--- End quote ---
Thanks!
But i can't add replacement ATL_NO_VTABLE with nothing.
[attachment deleted by admin]
ollydbg:
In the ccoptiondlg.cpp.
--- Code: ---bool CCOptionsDlg::ValidateReplacementToken(wxString& from, wxString& to)
{
wxRegEx re(_T("[A-Za-z_]+[0-9]*[A-Za-z_]*"));
from.Trim(true).Trim(false);
to.Trim(true).Trim(false);
if (!re.Matches(from) || !re.Matches(to))
{
cbMessageBox(_("Replacement tokens can only contain alphanumeric characters and underscores..."),
_("Error"), wxICON_ERROR);
return false;
}
return true;
}
--- End code ---
That's the cause of your problem.
Loaden:
--- Quote from: ollydbg on June 01, 2009, 05:31:55 am ---In the ccoptiondlg.cpp.
--- Code: ---bool CCOptionsDlg::ValidateReplacementToken(wxString& from, wxString& to)
{
wxRegEx re(_T("[A-Za-z_]+[0-9]*[A-Za-z_]*"));
from.Trim(true).Trim(false);
to.Trim(true).Trim(false);
if (!re.Matches(from) || !re.Matches(to))
{
cbMessageBox(_("Replacement tokens can only contain alphanumeric characters and underscores..."),
_("Error"), wxICON_ERROR);
return false;
}
return true;
}
--- End code ---
That's the cause of your problem.
--- End quote ---
Thanks!
I comment this code, and do it ok.
Now, class ATL_NO_VTABLE CHyperLinkImpl : public ATL::CWindowImpl< T, TBase, TWinTraits > is OK!
But, other headers, egg. string winuser.h, i don't know how to make it work.
--- Code: ---WINUSERAPI
int
WINAPI
MessageBoxA(
__in_opt HWND hWnd,
__in_opt LPCSTR lpText,
__in_opt LPCSTR lpCaption,
__in UINT uType);
WINUSERAPI
int
WINAPI
MessageBoxW(
__in_opt HWND hWnd,
__in_opt LPCWSTR lpText,
__in_opt LPCWSTR lpCaption,
__in UINT uType);
#ifdef UNICODE
#define MessageBox MessageBoxW
#else
#define MessageBox MessageBoxA
#endif // !UNICODE
--- End code ---
Navigation
[0] Message Index
[#] Next page
Go to full version