Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 DirectX Parsing

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
GaryNas Posted - Jan 30 2006 : 11:13:59 AM
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!


5   L A T E S T    R E P L I E S    (Newest First)
support Posted - Jun 19 2006 : 5:22:11 PM
Fixed in build 1524:

Bolding within parameter info no longer confused by function pointers. (case=475)
feline Posted - Feb 01 2006 : 5:52:00 PM
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.
GaryNas Posted - Jan 31 2006 : 7:24:12 PM
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?
GaryNas Posted - Jan 30 2006 : 4:35:21 PM
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.


feline Posted - Jan 30 2006 : 4:14:51 PM
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.

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