Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 1649: Unrecognized structure
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

SvenR
Tomato Guru

110 Posts

Posted - Jan 05 2009 :  4:13:23 PM  Show Profile  Reply with Quote
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).

Windows 11 x64, VS 2022, VaX 10.9.2530

sean
Whole Tomato Software

USA
2817 Posts

Posted - Jan 06 2009 :  01:32:35 AM  Show Profile  Reply with Quote
This will be fixed in the next maintenance build. case=2302
Go to Top of Page

SvenR
Tomato Guru

110 Posts

Posted - Jan 06 2009 :  04:18:56 AM  Show Profile  Reply with Quote
Thanks sean.

Windows 11 x64, VS 2022, VaX 10.9.2530
Go to Top of Page

SvenR
Tomato Guru

110 Posts

Posted - Jan 07 2009 :  06:11:13 AM  Show Profile  Reply with Quote
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.

Windows 11 x64, VS 2022, VaX 10.9.2530
Go to Top of Page

SvenR
Tomato Guru

110 Posts

Posted - Jan 16 2009 :  12:34:19 PM  Show Profile  Reply with Quote
Were you able to reproduce it?

Windows 11 x64, VS 2022, VaX 10.9.2530
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Jan 16 2009 :  3:17:53 PM  Show Profile  Reply with Quote
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.

zen is the art of being at one with the two'ness
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Jan 16 2009 :  5:04:02 PM  Show Profile  Reply with Quote
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.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Jan 27 2009 :  8:53:52 PM  Show Profile  Reply with Quote
case=8934 and case=2302 are fixed in build 1715

Whole Tomato Software, Inc.

Edited by - support on Jan 27 2009 9:21:46 PM
Go to Top of Page

SvenR
Tomato Guru

110 Posts

Posted - Feb 02 2009 :  02:08:22 AM  Show Profile  Reply with Quote
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).

Windows 11 x64, VS 2022, VaX 10.9.2530

Edited by - SvenR on Feb 02 2009 02:10:03 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Feb 04 2009 :  4:12:37 PM  Show Profile  Reply with Quote
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:



zen is the art of being at one with the two'ness
Go to Top of Page

SvenR
Tomato Guru

110 Posts

Posted - Feb 05 2009 :  03:52:25 AM  Show Profile  Reply with Quote
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.

Windows 11 x64, VS 2022, VaX 10.9.2530
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Feb 06 2009 :  1:34:02 PM  Show Profile  Reply with Quote
I am seeing the same effect here now I know what to try. Thank you for the clear description

case=23722

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000