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
 [1812] keeps reporting all symbols as mistyped
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

beef
Senior Member

Poland
42 Posts

Posted - Feb 18 2010 :  03:58:01 AM  Show Profile  Reply with Quote
Hi. I recently upgraded from 1810 and 1812 and, unfortunately, I must switch back to 1810. The problem is, that from time to time, 1812 begins to underline all sybols in file in red (like they have been "mistyped"). "Reparse" removes problem, but in several seconds it is here again.

My project is quite big (~700k of lines), with havy use of templates, etc. I'm afraid I'm not allowed to give you any code snippet, but for sure it's something that happeded between 1810 and 1812.

Here is my sysinfo:
VA_X.dll file version 10.6.1810.0 built 2010.01.22
Licensed to: <...>
DevEnv.exe version 9.0.30729.1
msenv.dll version 9.0.30729.4056
Font: Consolas 12(Pixels)
Comctl32.dll version 6.10.7600.16385
Windows 7 6.1 Build 7600
2 processors (x86-64;
WOW64)

Platform: Win32
Stable Includes:
D:\\Work\\Lib\\Boost\\include\\boost-1_42_0;
D:\\Work\\Lib\\OpenCASCADE6.3.0\\ros\\inc;
c:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\include;
c:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\include;
C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\include;
C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\include;

Other Includes:

Stable Source Directories:
c:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\src\\mfc;
c:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\src\\mfcm;
c:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\src\\atl;
c:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\crt\\src;

beef
Senior Member

Poland
42 Posts

Posted - Feb 18 2010 :  04:12:06 AM  Show Profile  Reply with Quote
Oops, sorry, I was to optimistic about 1810 being ok with this. It seems that the problem is here, too. Now I'm pretty sure, that it was 17xx line that was ok. Nevertheles, here are sample screenshots:

As you can see, all local variables are marked with red:


"Reparse" fixes this for some time:
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18950 Posts

Posted - Feb 18 2010 :  11:03:36 AM  Show Profile  Reply with Quote
When the problem shows up, can you try adding a simple dummy function, e.g.

static void testVAUnderlingOfThings()
{
    bool vaUnderlineVar1;
    bool vaUnderlineVar2;
}

near the top of the file. Do you see underlining in this code?

If so, what happens if you move this function to be the first thing in the file, so it is above all #include lines?

At a guess something near the top of the code file, or in one of the header files is confusing our parser. But without some idea of what that something is, or where it is, fixing this is going to be difficult. Hopefully you can narrow down what is causing the problem by just moving this simple test function through the code, watching for when it gets underlined.

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

beef
Senior Member

Poland
42 Posts

Posted - Feb 19 2010 :  10:29:32 AM  Show Profile  Reply with Quote
Ok, using your technique I was able to narrow down the problem. It seems it got something to do with nested macros.

This is the problematic macro - test function placed _before_ it has its local variables ok, but placed _after_ it - underlined:

This macro is defined in the include file also shown on the screenshot.

Ok, another thing that I investigated is that I am able to help the parser, just by copy&paste the problematic macro into this file. It is ok for the compiler, because it treats it just like plain redefinition:

Now it's ok. As you can see, the macro is nested, but anyway - this is exactly the same definition, as exists in the include file above.

I hope it helps.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18950 Posts

Posted - Feb 24 2010 :  09:16:50 AM  Show Profile  Reply with Quote
Apologies for the delay in getting back to you about this.

Trying this sample code here, I cannot reproduce the problem when just calling the macro ARCD_REGISER_ITEM. This suggests that somehow VA is getting confused when parsing either ARCD_REGISER_ITEM or maybe ARCD_REGISER_ITEM_

So to avoid editing your solution, you can try editing VA's "StdAfx.h" file as explained in this FAQ entry:

http://docs.wholetomato.com?W302

and add the entry:

#define ARCD_REGISTER_ITEM( ITEM_TYPE, FRIENDLY_NAME, PARENT_PROVIDER ) /* */

at the bottom. This file is used to help VA's parser with difficult code, and can be used to work around odd effects. After modifying this file you need to rebuild the VA symbol database for the changes to take effect:

VA Options -> Performance -> General -> Rebuild symbol databases

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