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
 1532: unusable version
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

dodudo7
Ketchup Master

Israel
55 Posts

Posted - Aug 24 2006 :  08:26:35 AM  Show Profile  Reply with Quote
I don't know what happened between builds 1530 and 1532, but the last one is IMHO the least successful version I encountered in the last 2 years since my company started using visual assist.
I don't even want to talk about the refactoring that isn't working (function signature changed only in .h file but not in .cpp) or that a simple renaming of a variable causes VaX to announce that it can't be done.
It's the good old features that are broken: syntax highlighting selectively marks class names as local variables or it changes (only at display, not in the saved file) O to 0, other functions and variables are suddenly marked as unrecognized...
VA view shows (sometimes) irelevant info when hovering variables, and the situation with ALG+G isn't much better.
I'm aware that this is still a beta build, but I was surprised to see on somewhere on your site that this build is close to the final.


VA_X.dll file version 10.3.1532.0 built 2006.08.10
Licensed to:
VA X: algotec.co.il (25-user license) Support ends 2007.05.15
VA.NET 7.1: algotec.co.il (5-user license)
VAOpsWin.dll version 1.3.3.6
VATE.dll version 1.0.5.8
DevEnv.exe version 7.10.3077.0
msenv.dll version 7.10.6015.0
Font: Courier New 13(Pixels)
Comctl32.dll version 5.81.4916.400
Windows 2000 5.0 Build 2195 Service Pack 4
Single processor

Platform: Win32
Stable Includes:
D:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\include;
D:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\include;
D:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include\\prerelease;
D:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include;
D:\\Program Files\\Microsoft Visual Studio .NET 2003\\SDK\\v1.1\\include;
D:\\DXSDK\\include;
S:\\jdk1.4\\include;
S:\\jdk1.4\\include\\win32;
D:\\DEV\\INC\\UNIX;

Library Includes:
D:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\mfc;
D:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\atl;
D:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\crt\\src;

Other Includes:

rhummer
Tomato Guru

USA
527 Posts

Posted - Aug 24 2006 :  08:51:18 AM  Show Profile  Reply with Quote
Have you tried to rebuild the symbol database? That is usually the first thing I try if I see things being weird.

Tools Engineer - Raven Software
VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64

Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Aug 24 2006 :  1:43:46 PM  Show Profile  Reply with Quote
VA X is obviously whacked in your environment. We suspect one item is the culprit to all of your problems.

Can you try reinstalling (which forces the rebuild rhummer suggests)?

Do your coworkers have the same problem?

Any other add-ins installed? (We suspect not since you've had success previously)

Anything recent change in the installation/setup of your IDE(s)?
Go to Top of Page

dodudo7
Ketchup Master

Israel
55 Posts

Posted - Aug 27 2006 :  12:53:38 PM  Show Profile  Reply with Quote
I tried to rebuild symbols, but it had no effect.
Tried reinstalling build 1532, but still nothing...
Besides Visual Assist I also have the following add-ins:
Compuware DevPartner, Incredibuild and the Intel compiler.

After reading your question I recalled that indeed there is another "recent change", I uninstalled the visual studio 2003 and reinstalled it a few days ago, (I intended to install the VS2003 SP1 but the installation failed due to a hotfix we had to install some time ago, anyway I did not install yet the SP).

I am not aware of other developers here using VaX versions newer than the latest released version, so I cannot compare if my problem is reproducible.
Go to Top of Page

dodudo7
Ketchup Master

Israel
55 Posts

Posted - Aug 28 2006 :  09:48:57 AM  Show Profile  Reply with Quote
Unfortunately build 1533 didn't bring any improvement over 1532.
You mentioned that you have culprit to all of my problems, is there any advancement in finding it ?

I observed that the cases where the variable type is not highlighted are when the variable is a pointer. Simply removing the "*" from the variable declaration brings back the correct highlighting. (the problem does not reproduce with all pointer declarations, some are OK).
Still no clue about the other problems.

Edited by - dodudo7 on Aug 28 2006 10:12:25 AM
Go to Top of Page

rhummer
Tomato Guru

USA
527 Posts

Posted - Aug 28 2006 :  10:40:26 AM  Show Profile  Reply with Quote
Is there anything different about the coding style you have in the files you are working with? There is a bug reproded by a user that having his code formated like so:

nt MyClass :: MyFunc() // fails
int MyClass ::MyFunc() // fails

causes the parser to not recognize symbols and causes issue. Might you have some *odd* coding style in the code base?

Just thinking out loud trying to see whats up, as I've been using 1532 and 1533 before they were released and they are fine.

Tools Engineer - Raven Software
VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64

Go to Top of Page

dodudo7
Ketchup Master

Israel
55 Posts

Posted - Aug 28 2006 :  2:33:56 PM  Show Profile  Reply with Quote
This was a pretty good guess!
Indeed some of our old code base (written around 1994) is using the coding style you mentioned.
Interestingly, most symbols that are incorectly highlighted (bold gray as local variable instead of blue as class name), are recognized. I use the default syntax coloring. I tried replacing all MyClass :: Myfunc() to MyClass::Myfunc() for one of the classes that is creating the problem but it didn't help. Yet, this coding style is not new, and Visual Assist didn't complain about it until now.

Also in other scenarios incorrect syntax highlighting is for correctly recognized types/variables. Unrecognized code is not highlighted at all.

I am attaching two snapshots of code, maybe it can help, the first one is correctly highlighted but unfortunately it won't compile as the returned type is a pointer.



The second is using a pointer but is incorrectly highlighted.



Any idea what can be the problem?
Go to Top of Page

rhummer
Tomato Guru

USA
527 Posts

Posted - Aug 28 2006 :  3:08:29 PM  Show Profile  Reply with Quote
Well that bug is new to the 15xx builds :)

out of curiousity what happens if you change:
Dicom_SQ* modified_attributes to:
Dicom_SQ *modified_attributes

Does it still show incorrectly or is it correct?

Tools Engineer - Raven Software
VS2005 SP2/VS2008 SP1 - VAX <LATEST> - Win 7 x64

Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 28 2006 :  3:57:39 PM  Show Profile  Reply with Quote
does this only effect some classes? this seems to be what you are saying.
when this happens, what happens if you try alt-g on Dicom_SQ ?
is the header for this class included in your solution? is it listed in OFIW?
is it located in a stable include directory?

what happens if you create an instance of Dicom_SQ in a new, empty cpp file? it is possible there is something further up the current cpp file that is causing this effect.

if you get the same colouring effect in a new, blank cpp file is it possible to get a copy of the header file for this class? often this is impossible, but it is worth asking.

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

dodudo7
Ketchup Master

Israel
55 Posts

Posted - Aug 29 2006 :  07:39:45 AM  Show Profile  Reply with Quote
Both Dicom_SQ* modified_attributes and
Dicom_SQ *modified_attributes or even
Dicom_SQ * modified_attributes are incorrectly colored.
The header file is included in the solution and alt-g works OK. It is not located under the stable directories.
Your assumption is correct, not all classes are affected, actually even this specific class is highlighted correctly in part of the solution files, while in the rest of the files it is not.
Both .C and .h files appear in OFIW.

I tried, as you suggested, creating an instance in a new empty file and it was highlighted correctly. I tend to believe that indeed something in the .cpp file is creating the problems. I will play a little bit more with the cpp file and I'll keep you updated if I'll find anything.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Sep 02 2006 :  12:55:25 PM  Show Profile  Reply with Quote
you may want to try the following test then. make a copy of this problem cpp file, and if it shows the same issue, simply delete code from the file one chunk at a time.

by using something similar to a binary chop you should be able to quite quickly and easily reduce the file right down, while still keeping this colouring problem.

hopefully you will be able to get the file down to such a short, and meaningless piece of code that you will be able to post it.

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

dodudo7
Ketchup Master

Israel
55 Posts

Posted - Sep 03 2006 :  1:40:25 PM  Show Profile  Reply with Quote
I found something!
The code that is causing a coloring problem is easily reproducible on a small scale project:

const CMyClass* c = dynamic_cast<const CMyClass*>(object);

This line causes references of CMyClass* to be colored as local variables instead of class name.
If you'll remove the const:

const CMyClass* c = dynamic_cast<const CMyClass*>(object);

the class name will be colored correctly.
I still have another problem with some class member variables that are colored as if they were local variables.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Sep 03 2006 :  5:18:45 PM  Show Profile  Reply with Quote
got it!

case=2352

strangely several of my tests had no problem with this dynamic_cast, but if i use a class defined in the header file then it goes wrong, exactly as you describe. thank you for the clear description

the class member variables, do you tend to have local variables with the same name as the class member variables? i am not sure what might trigger this, but duplicate names confusing the colouring code is possible.

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

dodudo7
Ketchup Master

Israel
55 Posts

Posted - Sep 04 2006 :  06:25:17 AM  Show Profile  Reply with Quote
Usually, I refrain from using local variables with same name as class members. It's bad coding practice, makes the code less readable and more difficult to debug... BUT...
You were correct in your assumption, indeed I have a local variable, (actually it's a parameter of another method from the same .cpp file and class) that has the same name as the class member. The highlighting was incorrect in other methods where only the class member variable is defined.
Again, this issue is also easily reproducible on small scale projects.

Edited by - dodudo7 on Sep 04 2006 08:56:08 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Sep 04 2006 :  6:01:29 PM  Show Profile  Reply with Quote
yes, setting up this test i see the same problem. the VA colouring code has to run very fast, in order to colour code in real time as you scroll up and down the window. as a result it is possible to confuse it, as this shows.

i have put in a case so we are aware of this, but this is unlikely to be addressed soon since it is likely to be quite hard to solve, given the speed of the code, and the limited information it has to operate on.

case=2364

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

support
Whole Tomato Software

5566 Posts

Posted - Jul 14 2008 :  2:52:55 PM  Show Profile  Reply with Quote
case=2352 is fixed in build 1645

Whole Tomato Software, Inc.
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