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
 DirectX Parsing
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

GaryNas
New Member

3 Posts

Posted - Jan 30 2006 :  11:13:59 AM  Show Profile  Reply with Quote
I'm using Visual Studio 2005 Pro, DirectX December 2005 SDK, and Visual Assist X 10.2.1440... Here's what happens:

IDirect3DDevice* pDevice;
pDevice->Clear(

After I type the '(' intellisense (the yellow popup bar) will show this:

(Clear)(THIS_DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil)

At this point, Clear is bolded. As I start typing the arguments, the bold stays one behind what the current argument is. So, if my code was:

pDevice->Clear(0, NULL, *Me on the DWORD Flags argument*

then CONST D3DRECT* pRects would be the current highlighted parameter, instead of DWORD Flags. This happens with every single Direct3D call on every interface I tested. I'm guessing it may be a parsing problem when a COM method is declared like STDMETHOD(EndScene)(THIS) PURE;...

Has anyone else had this problem? How can I fix it?

Thanks!


feline
Whole Tomato Software

United Kingdom
19014 Posts

Posted - Jan 30 2006 :  4:14:51 PM  Show Profile  Reply with Quote
there is a known problem when one of the function parameters is a function pointer. a simple example is qSort(...) once you reach the 4th parameter, the function pointer.

to save me trying to download and install these SDK's can you post the function prototype for one of these functions? i am guessing that the same problem is occurring here.

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

GaryNas
New Member

3 Posts

Posted - Jan 30 2006 :  4:35:21 PM  Show Profile  Reply with Quote
The SDK document for IDirect3DDevice9::Clear is at http://tinyurl.com/bhffy.

The function prototype is:

STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT* pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE;


Also, upon reading your qSort example, I noticed that even common CRT functions like memcpy and memset aren't parsed properly. For example, typing memset( will bring up the following tooltip with this bolding:

void * memset(__out_bcount_full_opt(_Size) void* _Dst, __in int _Val, __int size_t _Size)

And this is prototyped in the Visual Studio 2005 CRT as:


        void *  __cdecl memset(__out_bcount_full_opt(_Size) void * _Dst, __in int _Val, __in size_t _Size);


When I type the second parameter, nothing is bolded in the tooltip and when I type the third parameter, the second one is then bolded in the tooltip.


Go to Top of Page

GaryNas
New Member

3 Posts

Posted - Jan 31 2006 :  7:24:12 PM  Show Profile  Reply with Quote
Just as an update, I uninstalled Visual Assist and the Parameter Info intellisense feature is now working properly. So now when I type in memset(, this Parameter Info tooltip shows up:

void* memset(void * _Dst, int _Val, size_t _Size)

This is still going to the same prototype as before, as listed above (I only have the Platform SDK that came with Visual Studio 2005 installed). Moreover, the Direct3D Parameter Info tooltips now display properly. For example, IDirect3DDevice9::Clear's tooltip is:

HRESULT Clear(DWORD Count, const D3DRECT* pRects, etc etc)

Again, it's coming from the same prototype as before and I only have one d3d9.h installed on my system, which is from the December 2005 DirectX SDK.

Any ideas?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19014 Posts

Posted - Feb 01 2006 :  5:52:00 PM  Show Profile  Reply with Quote
it seems this is the same bug

case=475

as i understand it the problem has two root causes. firstly the IDE on its own is not that good at popping up tooltips. so when VA has decided that the IDE is not going to produce a tooltip it puts its own on the screen instead.

the second factor is that VA applies syntax highlighting to both its own and the IDE's tooltips. in the process it "effects" what is going on.

as a work around you can turn off
VA Options -> Environment -> Fonts and Colors -> Apply Colouring to -> Tooltips

testing with qsort(...) this fixes the bold parameter bug for me, so hopefully will also work for you. of course it does mean that you will not get any enhanced syntax highlighting in your tooltips.

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

support
Whole Tomato Software

5566 Posts

Posted - Jun 19 2006 :  5:22:11 PM  Show Profile  Reply with Quote
Fixed in build 1524:

Bolding within parameter info no longer confused by function pointers. (case=475)
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