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
 Intellisense works every other IDE run
 New Topic  Topic Locked
 Printer Friendly
Author Previous Topic Topic Next Topic  

kika
Junior Member

21 Posts

Posted - Aug 21 2005 :  09:57:59 AM  Show Profile
Hello,

I've got an annoying bug which bothers me for a long time. I bought a new support license hoping that 1418 will help me, but to no avail. The problem is that every other run of the IDE (MS VS 2003 English) VAX forgets symbols it parsed from stable includes. I use Qt4 library which is quite huge and all Qt classes become unknown to VAX. I go to 'Performance' option, select [Clear] button and then [Reparse], restart IDE and it works fine. Next run it forgets everything. I go to the 'Performance' tab, select [Clear].... you've got the idea.
What could be done to remedy this? Apparently VAX either don't store the database properly or corrupt it or can't open next run.

VA_X.dll file version 10.1.1418.0 built 2005.06.24
Licensed to:
VA X: [email protected] (1-user license) Support ends 2006.08.02
VA.NET 7.1:
VAOpsWin.dll version 1.2.0.4
DevEnv.exe version 7.10.3077.0
msenv.dll version 7.10.3077.0
Font: Fixedsys 13(Pixels)
Comctl32.dll version 6.0.2900.2180
WindowsNT 5.1 Build 2600 Service Pack 2
4 processors

Platform: Win32
Stable Includes:
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\include;
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\include;
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include\\prerelease;
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\PlatformSDK\\include;
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\SDK\\v1.1\\include;
C:\\dev\\tinyxml;
C:\\dev\\OpenAL\\Include\\ALUT;
C:\\dev\\OpenAL\\Include\\AL;
C:\\dev\\glew\\include;
C:\\dev\\glew\\include\\GL;
C:\\dev\\Qt\\4.0.1\\include;

Library Includes:
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\mfc;
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\src\\atl;
C:\\dev\\Qt\\4.0.1\\src;
C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\crt\\src;

Other Includes:


Best regards,\rCyril\r

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 21 2005 :  3:10:18 PM  Show Profile
this is odd. i use the Qt 3 library and have no problems. when you say you have been getting this problem for a long time, did you get this same problem with Qt 3? or is it a Qt 4 specific problem?

does this only effect Qt classes, or does it also effect other stable include directories and classes?

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

kika
Junior Member

21 Posts

Posted - Aug 22 2005 :  03:24:02 AM  Show Profile
feline, thanks for reply.
I had no problems with Qt3 and VAX, but it was long ago and it might be due to the older version of VAX.
Yes, this only affects Qt, no problems with Platform SDK for example, or, say, tinyxml which I use too.

Best regards,\rCyril\r
Go to Top of Page

kika
Junior Member

21 Posts

Posted - Aug 22 2005 :  03:28:48 AM  Show Profile
I don't know for sure, but may be the root of the problem is the quirky style of the Qt4 include structure.
For example, to use QApplication class I need to:
#include <QtGui/QApplication>
which in turn includes "qapplication.h"
which in turn includes "../../src/gui/kernel/qapplication.h" in the Qt4 source directory.

Best regards,\rCyril\r
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 22 2005 :  2:46:13 PM  Show Profile
*um* by the sounds of it some very strange things have happened to the Qt directory structure in the move from version 3 to 4. let me get back to you once i have had a look for a copy of version 4.

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

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 22 2005 :  3:35:05 PM  Show Profile
right, i have just downloaded and unpacked the open source version of Qt 4.0.1. something very strange is happening here on my machine. i will email support and see if i can find out what is going on.

like you, i have never had any problems with VAX parsing Qt 3

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

sean
Whole Tomato Software

USA
2817 Posts

Posted - Aug 22 2005 :  5:01:41 PM  Show Profile
kika,

try modifying your VS include paths (Tools|Options|Projects|VC++ Directories|Include Files):

Add a line for each of the following:

%QTDIR%
%QTDIR%\\include
%QTDIR%\\include\\ActiveQt
%QTDIR%\\include\\Qt
%QTDIR%\\include\\Qt3Support
%QTDIR%\\include\\QtAssistant
%QTDIR%\\include\\QtCore
%QTDIR%\\include\\QtDesigner
%QTDIR%\\include\\QtGui
%QTDIR%\\include\\QtNetwork
%QTDIR%\\include\\QtNsPlugin
%QTDIR%\\include\\QtOpenGL
%QTDIR%\\include\\QtSql
%QTDIR%\\include\\QtXml

Does this help?

Edit: you can do the QTDIR substitution manually instead of relying on the env var.

Edited by - sean on Aug 22 2005 5:03:03 PM
Go to Top of Page

kika
Junior Member

21 Posts

Posted - Aug 22 2005 :  6:00:42 PM  Show Profile
sean, thanks for the tip, I tried this already. Even wrote a script to generate a list of directories, with or without QTDIR substitution. No luck.

Best regards,\rCyril\r
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Aug 22 2005 :  9:16:21 PM  Show Profile
ugh... I think case 682 is interfering here with build 1418. This is fixed in 1419. In the meantime, you'll have to switch the VA platform to custom and add the Qt dirs through the VA Options dlg (Projects|C/C++ Directories). Change platform from Win32 to Custom. Switch to Stable Include Files and then add the list of QtDirs from my previous message to this list.


Note also, if VA rebuilds the symbol database everytime you start VS.Net, then it might be due to registry and file permissions if you develop using a non-admin account. To fix this, do two things:
1) using an admin account, change the "Install" value from "Yes" to "No" at HKEY_LOCAL_MACHINE\\SOFTWARE\\Whole Tomato
2) give yourself full file permission to all of the Visual Assist X installation sub-directories.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 23 2005 :  3:40:28 PM  Show Profile
i added all of these directories to the IDE's include file list, using absolute paths for ease, and this is working fine for me after restarting the IDE.

the one blip was that i had forgotten that VA was still set to a custom platform when i made the changes. after setting VA back to win32 platform adding and then removing a directory from the IDE's list updated VA's list just fine.

this is using VS 2003 and VAX 1418. i am on a standalone machine, and i have full administrator rights, since there is only one login on this machine, so this is probably why this worked for me.

as an aside i was told that Qt have much better integration with the IDE in version 4, so did your Qt install insert any plugin's into the IDE kika? IDE tools menu -> add-in manager should tell you if in doubt. these could be another variable, but since i just extracted a zip file i did not get any.

i had a load of problems with the Qt 3 installer on this machine, so i tend to just use the low tech method these days

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

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 23 2005 :  3:43:26 PM  Show Profile
just re-reading the original post i have now restarted the IDE 5 times since setting up the directories. each time the Qt classes are still recognised, coloured, and alt_g is working just fine.

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

kika
Junior Member

21 Posts

Posted - Aug 23 2005 :  4:01:51 PM  Show Profile
quote:
Originally posted by feline
the one blip was that i had forgotten that VA was still set to a custom platform when i made the changes. after setting VA back to win32 platform adding and then removing a directory from the IDE's list updated VA's list just fine.



I'll try to set the directories in custom mode, but I'd wish they worked like any other, inherited from the VS directory settings.

quote:
this is using VS 2003 and VAX 1418. i am on a standalone machine, and i have full administrator rights, since there is only one login on this machine, so this is probably why this worked for me.



I have full rights as well.

quote:
as an aside i was told that Qt have much better integration with the IDE in version 4, so did your Qt install insert any plugin's into the IDE kika? IDE tools menu -> add-in manager should tell you if in doubt. these could be another variable, but since i just extracted a zip file i did not get any.



I tried both, since the Qt integration is a separate package now. No difference.

Best regards,\rCyril\r
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 23 2005 :  4:19:04 PM  Show Profile
putting VA's directories into custom mode is there so that they can be different from the IDE's settings. if you keep VAX in win32 mode then it correctly picks up any changes to the IDE's settings. i only had a problem since i had been fiddling

this is strange, on the surface i have done the same thing you have, and this is working for me. do you have any other plugin's installed?

after a clean and restarting the IDE does everything in VAX work correctly with Qt? what about alt_g on a class name, and the HCB? what about suggestion lists for member variables?

i am looking for any clues here. i could understand something hitting VAX's index files if this affected all stable include directories, but only affecting Qt suggests it is something Qt specific.

do you use more than one machine? i was wondering if this was machine specific.

can you create a new empty project and create a Qt hello world program in it? if you can i am wondering if this has the same problem. if Qt has not made any changes to the IDE's default project settings then this should provide a basic test case.

i presume you are linking against a Qt dll. in your workspace do you have a dependent project holding the Qt source code? i do this some of the time with Qt 3, so it is another possible variable. if not how does the compiler know about the Qt headers?

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

kika
Junior Member

21 Posts

Posted - Aug 23 2005 :  6:26:33 PM  Show Profile
quote:
Originally posted by feline

putting VA's directories into custom mode is there so that they can be different from the IDE's settings. if you keep VAX in win32 mode then it correctly picks up any changes to the IDE's settings. i only had a problem since i had been fiddling



I indeed want to keep settings in sync, so I don't need custom settings other for fixing VAX odd behaviour.

quote:
this is strange, on the surface i have done the same thing you have, and this is working for me. do you have any other plugin's installed?


AQtime profiler, but I installed it only recently and odd behaviour was there before that.

quote:
after a clean and restarting the IDE does everything in VAX work correctly with Qt? what about alt_g on a class name, and the HCB? what about suggestion lists for member variables?



Works perfectly to my knowledge. But only until I shutdown IDE and restart it :-)

quote:
i am looking for any clues here. i could understand something hitting VAX's index files if this affected all stable include directories, but only affecting Qt suggests it is something Qt specific.


I may send you (Tomato?) my index files, if you have some tool(s) to analyze them if they're corrupt or not. May be something in Qt4 screws the indexing code and indexes work only from memory (hence they work immediately after reparse/rebuild but not being read from disk).

quote:
do you use more than one machine? i was wondering if this was machine specific.


Not now. But I had a notebook (with the same MS VS, same projects, codebase and even directory structure) which also had a screwed up VAX after Qt4.

quote:
can you create a new empty project and create a Qt hello world program in it? if you can i am wondering if this has the same problem. if Qt has not made any changes to the IDE's default project settings then this should provide a basic test case.


I created a small project with some UI for testing some new Qt4 features. It also requires reparse and restart every other run.

quote:
i presume you are linking against a Qt dll. in your workspace do you have a dependent project holding the Qt source code?


No. I just point the IDE to the include and library dirs and specify qtmain.lib, etc files in project settings.

Best regards,\rCyril\r
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 24 2005 :  3:42:47 PM  Show Profile
personally i am down to grasping at straws. do you have a commercial licence for Qt 4? there could be a difference in the Qt code its self, or its layout, although this does seem a little unlikely.

do you have any anti-virus programs running on this machine? diskeeper defragmenter? anything that might be expected to be "fiddling" with the files on the hard drive?

in terms of sending files to support it might well be worth creating a log file:
http://www.wholetomato.com/support/faq.html#log

note that the logging setting gets turned off when you restart the IDE.

here two sets of log files might be useful, one for when Qt is parsed, and one for when Qt is not parsed, so you will have to re-enable logging. if you do this reference this thread (its URL) in the email, so support know what the files are about.

if i email you via the forum would you be willing to email me back a zip of your small UI testing project? i can then see what happens with that project on my machine.

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

kika
Junior Member

21 Posts

Posted - Aug 24 2005 :  5:18:56 PM  Show Profile
feline,
Yes, I'm a commercial customer for Qt4. But I don't see any structural difference between commercial and free editions for Windows.
No, I don't run any antivirus or other background file-related software.
Either way, I tried stopping almost everything in the system (including many system services), but to no avail.

I had sent you a test project. Thanks!

Best regards,\rCyril\r
Go to Top of Page

kika
Junior Member

21 Posts

Posted - Aug 25 2005 :  2:16:20 PM  Show Profile
Update:

Deinstalled MS VS, VAX, AQTime and all other stuff which was related to development, including MSVS 2005 Beta-2 remains (it installs so much different stuff in the system...).
Installed only MSVS 2003 and VAX. The only difference in behaviour is that now it doesn't 'see' only some part of the Qt 'namespace'. For example on the second MSVS run QWidget is still known to VAX (Alt-G works, etc), but QDirModel or Q_OBJECT arent't.

Best regards,\rCyril\r
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 25 2005 :  4:36:04 PM  Show Profile
i got your email, and i have tested the project here. after opening and closing the IDE about 8 times in a row everything still looked fine. as you said, this was as expected, but it was worth trying, since it could have revealed something.

seeing this update i have re-checked and QDirModel is still known after 3 restarts of the IDE.

using ALT_G i am finding:

QWidget = C:\\dev\\qt\\4.0.1\\src\\gui\\kernel\\qwidget.h
QDirModel = C:\\dev\\qt\\4.0.1\\src\\gui\\itemviews\\qdirmodel.h
Q_OBJECT = C:\\dev\\qt\\4.0.1\\src\\corelib\\kernel\\qobjectdefs.h

what are your current VAX settings? i am interested in the order of the directories. if for some strange reason VAX was only keeping the first or last x% of the Qt index then this could explain what is going on. putting the paths in alphabetical order QWidget is at the end, while the other two are before it.

on your main project do you see the same effect? what happens on a 3rd restart of the IDE? does it remain the same or get worse?

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

kika
Junior Member

21 Posts

Posted - Aug 29 2005 :  04:21:17 AM  Show Profile
feline,
The VAX settings are quoted in the first post in this thread, including the order of directories.

I see the effect on every project, using Qt. On third (and up) restart of IDE it doesn't get worse.

Since the last post, I did a massive reinstall of everything. I deinstalled VS, MSDN, Qt, AQTime, DirectX SDK, etc, cleaned the disk from remains, wiped the registry. And reinstalled VS, MSDN and Qt. Even installed Qt into different directory. Spent the whole saturday on this, but nothing helps. I'm stuck, can't find what to do now.

Best regards,\rCyril\r
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 30 2005 :  12:07:04 PM  Show Profile
the reason i asked about your VAX settings is i thought you had added all of the subdirectories individually (see sean's first post for details) and they are not given in the first post of this thread.

before i did that i was seeing problems where by VAX would parse Qt classes one at a time as i opened them, but not at startup.

what happens if you open the Qt header file for one of the Qt classes that is not being recognised? i.e. drag and drop the file:

C:\\dev\\qt\\4.0.1\\src\\gui\\itemviews\\qdirmodel.h

into the current IDE instance. when i was having problems and i did this VAX would parse and recognise this class when i did this, and references to it were then recognised.

grasping at straws time, do you use a lot of forward references to Qt classes in your header files? e.g. when using a QCheckBox pointer in a class do you place:

class QCheckBox;

before your class declaration? i have seen this have an effect, but nothing as bad as the effect you are describing.

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

kika
Junior Member

21 Posts

Posted - Aug 30 2005 :  3:21:48 PM  Show Profile
feline,

I tried to open qdirmodel.h and it behaves exactly as you describe, QDirModel class becomes known to the IDE. Does this help to diagnose the problem? It makes me nervous to restart IDE twice every time with full database rebuild :-( Tried to contact support@, but they're deaf apparently.

No, I don't use forward references at all, at least for myself (Qt may use it in its own headers).

Best regards,\rCyril\r
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Aug 31 2005 :  4:56:45 PM  Show Profile
it sounds like you have the problem i had when i first downloaded Qt4, which is simply that VAX is not parsing all of the folders it needs to. can you double check your current settings in:

IDE tools menu -> options -> projects -> VC++ include files

and also

VAX stable include files

the stable include files tell VAX that when it parses a header, to mark the contents as stable, but it does not actually cause VAX to parse these directories. so the IDE project settings should be the key settings.

as for support email, i believe they are simply very busy, which is why i am here to help lighten the load.

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

kika
Junior Member

21 Posts

Posted - Aug 31 2005 :  5:28:55 PM  Show Profile
feline,

If you're right, then why it works for the first time after rebuild?

Thanks for all your efforts!

Best regards,\rCyril\r
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19021 Posts

Posted - Sep 01 2005 :  2:25:07 PM  Show Profile
i still have no answer to that question, unfortunately. for now my main focus is to try and get a "complete" description of the bug, and ideally to reproduce it myself.

i am sure you appreciate that often the tiny details are key when tracking down strange and "one off" problems. this only seems to effect you, so if we can just find out why, this should give the developers a clue as to why.

did you send in log files of this effect in action? is generating two new sets of log files an option? one set for a "rebuild so everything works" load of the IDE and the second set for the second load of the IDE, where it does not work correctly.

if you still have my email then you can email them to me, and i will pass them on directly. i am not sure if this will help, but we can try.

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