Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 1649: Unrecognized structure

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
SvenR Posted - Jan 05 2009 : 4:13:23 PM
VA doesn't parse the following declaration correctly:


typedef struct tagMFX_LVITEMINDEX : public LVITEMINDEX
{
	tagMFX_LVITEMINDEX::tagMFX_LVITEMINDEX()
	{
		iItem = iGroup = -1;
	}

} MFX_LVITEMINDEX, *LPMFX_LVITEMINDEX;


VA underlines MFX_LVITEMINDEX as mistyped symbol and doesn't show a listbox for MFX_LVITEMINDEX's members. LVITEMINDEX is declared in commctrl.h.

I can't test it with the current build. My subscription has expired and 1711 doesn't run in trial mode (trial expired on first start).
11   L A T E S T    R E P L I E S    (Newest First)
feline Posted - Feb 06 2009 : 1:34:02 PM
I am seeing the same effect here now I know what to try. Thank you for the clear description

case=23722
SvenR Posted - Feb 05 2009 : 03:52:25 AM
Yes, in all message maps with at least two entries.

Is ON_COMMAND right colored, if you add ON_WM_CREATE() at the end of the first message map? I suppose that ON_WM_CREATE() is colored wrong now.
feline Posted - Feb 04 2009 : 4:12:37 PM
Are you seeing this in all message maps?

Looking through a default C++ MFC application in VS2005 I am seeing two different things:



I am not sure if this second one is a good example or not, but no odd colouring:


SvenR Posted - Feb 02 2009 : 02:08:22 AM
Thanks for fixing.

A small glitch: It seems, that the last message map macro is colored as a variable. When I left-click on that macro, the right navigation bar shows all message map macros in one line

ON_WM_CREATE() ON_WM_DESTROY() ON_WM_ERASEBKGND() ON_WM_SIZE() ...

This applies to all occurences of the last message map macro within this message map (e.g. for all ON_COMMAND handlers when the last one is an ON_COMMAND macro).
support Posted - Jan 27 2009 : 8:53:52 PM
case=8934 and case=2302 are fixed in build 1715
support Posted - Jan 16 2009 : 5:04:02 PM
We can reproduce the problem and are looking into it.

For a workaround, after rebuilding your DB(deleting VA's local appdata and reloading your sln), try going to the definition of BEGIN_INTERFACE_PART in afxwin.h and press [Enter], then [Undo] to make VA reparse the file. It appears to fix the problem for further restarts of the IDE.
feline Posted - Jan 16 2009 : 3:17:53 PM
Apologies for the delay in getting back to you about this, I got side tracked. I am seeing the same thing with VA 1649, but so far I cannot reproduce the problem with VA 1711.

I have asked our sales department about sending you a trial key so you can try VA 1711 on your system, to see how well it works.
SvenR Posted - Jan 16 2009 : 12:34:19 PM
Were you able to reproduce it?
SvenR Posted - Jan 07 2009 : 06:11:13 AM
Another problem:


class CTest : public CWnd {

public: 
	
	CTest	();

	HRESULT		GetWindowHandle	(HWND*);

protected:
	DECLARE_INTERFACE_MAP()
	BEGIN_INTERFACE_PART(OleWindow, IOleWindow)
		HRESULT STDMETHODCALLTYPE GetWindow				(HWND*);
		HRESULT STDMETHODCALLTYPE ContextSensitiveHelp	(BOOL);
	END_INTERFACE_PART(OleWindow)
};


CTest::CTest()
{
}

HRESULT CTest::GetWindowHandle(HWND* phWnd)
{
	*phWnd = m_hWnd;
	return S_OK;
}

STDMETHODIMP_(ULONG) CTest::XOleWindow::AddRef()
{
	METHOD_PROLOGUE(CTest, OleWindow);
	return pThis->ExternalAddRef();
}

STDMETHODIMP_(ULONG) CTest::XOleWindow::Release()
{
	METHOD_PROLOGUE(CTest, OleWindow);
	return pThis->ExternalRelease();
}

STDMETHODIMP CTest::XOleWindow::QueryInterface(REFIID riid, LPVOID *ppVoid)
{
	METHOD_PROLOGUE(CTest, OleWindow);
	return (HRESULT) pThis->ExternalQueryInterface(&riid, ppVoid);
}

STDMETHODIMP CTest::XOleWindow::GetWindow(HWND* phWnd)
{
	METHOD_PROLOGUE(CTest, OleWindow);
	return pThis->GetWindowHandle(phWnd);
}

STDMETHODIMP CTest::XOleWindow::ContextSensitiveHelp(BOOL)
{
	METHOD_PROLOGUE(CTest, OleWindow);
	return S_OK;
}


It seems, that VA has some trouble with the END_INTERFACE_PART macro, it is defined in afxwin.h.



It's very interesting that it works fine when I delete VA's local appdata folder and restart VS 2008. But on next start with already parsed symbols VA shows the code as in the picture above.

The same (works only on first start with empty local appdata folder)applies to message maps. Reported as case=8934.
SvenR Posted - Jan 06 2009 : 04:18:56 AM
Thanks sean.
sean Posted - Jan 06 2009 : 01:32:35 AM
This will be fixed in the next maintenance build. case=2302

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000