Author |
Topic |
|
schweikl
New Member
8 Posts |
Posted - Jun 22 2005 : 06:08:48 AM
|
Hello,
in the current version of VA-X-1416 the switch between Header and Source file does not work properly anymore, if the header is in an different directory as the source file (in version 1301, it did work)! There is always opened a file selection box, where you have to choose the right directory.
Language: C++ IDE: Visual C++ 6.0 OS: WinXP Pro
Regards schweikl
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Jun 22 2005 : 4:05:45 PM
|
can you post the file name and location of a cpp and .h file that have this problem? this still works for me in 1416 when the source and header files are in different directories. |
zen is the art of being at one with the two'ness |
|
|
schweikl
New Member
8 Posts |
Posted - Jun 23 2005 : 04:56:35 AM
|
It seems to be the parsing mechanism. Many Defines and Constants from the base classes are not known anymore either. I tried to reparse everything, but it didn't help. This morning, I installed 1301 again and everything worked fine. After that I installed 1416 again and it didn't work, just like yesterday. I did not change any settings.
Here is the directory structure of the project:
Test/test.dsp Test/test.dsw Test/include/test.hpp Test/source/test.cpp
There is nothing unusual with this.
|
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Jun 23 2005 : 6:18:13 PM
|
it is possible you are experiencing
case=675
where VA does not correctly locate all files in a VC6 workspace. if so then a fix is being worked on. |
zen is the art of being at one with the two'ness |
|
|
schweikl
New Member
8 Posts |
Posted - Jun 24 2005 : 04:23:48 AM
|
I have never seen something like
case=675
Is it a messagebox, or content of a log file?
I don't get any error messages. It just doesn't work! |
|
|
Stephen
Tomato Guru
United Kingdom
781 Posts |
Posted - Jun 24 2005 : 04:50:05 AM
|
No, you misunderstood. case=675 is the reference number in WT's bug database. The original bug report describing it is in thread 3759. |
Stephen Turner ClickTracks http://www.clicktracks.com/ Winner: ClickZ's Best Web Analytics Tool 2003 & 2004
|
|
|
hwatson
Junior Member
23 Posts |
Posted - Jun 24 2005 : 2:06:10 PM
|
I am also experiencing this in 1416, and I am using VC++ 7.1. Like schweikl, it was working for me in build 1301. When the header and source files are in different folders, I cannot switch from the header to the source, but I can switch from the source to the header. The relation of the two files are as such:
Test/Test.h Test/src/Test.cpp
VA_X.dll file version 10.1.1416.0 built 2005.06.17 Licensed to: VA X: (1-user license) Support ends 2006.05.10 VA.NET 7.1: VAOpsWin.dll version 1.2.0.4 DevEnv.exe version 7.10.3077.0 msenv.dll version 2.0.1640.0 Font: Courier New 13(Pixels) Comctl32.dll version 6.0.2900.2180 WindowsNT 5.1 Build 2600 Service Pack 2 Single processor
|
|
|
support
Whole Tomato Software
5566 Posts |
|
schweikl
New Member
8 Posts |
Posted - Jun 27 2005 : 04:47:15 AM
|
Unfortunately, there is no change in terms of the reported bug with version 1418! Neither a switch to the header is possible, nor the defined symbols and base classes are found. Sorry! |
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Jun 27 2005 : 3:30:45 PM
|
something strange is going on here. i am seeing some odd effects with alt_o, but only if i have a very specific directory structure and set of file names. make a small change and the problem goes away.
i am currently trying to reproduce something useful on demand, but all i seem to have done is stumbled on a special case that confuses alt_o.
schweikl in my initial tests VA knows about the class i have defined in the header file, and is correctly suggesting member functions in VC6 with VA 1418.
are you getting these problems on all projects? the file names you posted earlier on, if directly accurate, suggest you are seeing this in very simple projects. is this the case? |
zen is the art of being at one with the two'ness |
|
|
schweikl
New Member
8 Posts |
Posted - Jun 28 2005 : 03:54:07 AM
|
In a "normal" project (all files in the same directorys) i have no problems. The header <--> source switch is ok and the symbols and classes were found (including mfc, c-runtime libs etc.).
The specific characteristic of my other projects is, that the base class libraries are in a different directories. I will try to explain it:
dir |----dir |--------basedir |------------basedir1 |----------------source |----------------include |------------basedir2 |----------------source |----------------include |--------basedir |------------source |------------include |--------allprojects |------------projectdir1 |------------something.dsw |------------include |----------------something.hpp |------------source |----------------something.cpp |------------projectdir2 |------------include |------------source |----dir |--------basedir |--------basedir |--------basedir
The basedir directories are the baseclass directories. They can be real simple or in a nested structure. The indentation is arbitrative for the directory structure not the hyphens.
The parsing mechanism of VA1301 must be different from VA1408 because VA1301 had no problems to parse this directory structure. I did not specify something different in VA1301 and VA1408.
Furthermore i don't know, how the source <--> header switch is linked up with class and symbols parsing, but it seems that it sticks together, somehow.
I hope this helps you more than confusing you.
|
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Jun 28 2005 : 3:21:23 PM
|
if you don't mind i will ignore alt_o for the moment and focus on the class and symbol parsing problem.
if you look in the OFIW dialog are all of the cpp and .h files listed? if you type part of the name of a file containing a class you are not getting help on, is it in this list?
if you turn on: VA Options -> text editor -> listboxes -> get content from default intellisense
does this make any difference to these unknown classes?
assuming you have a problem class called CUnknownClass, what happens if you type the code:
CUnknownClass *pUnknown;
pUnknown.| depending on your settings VA should turn the '.' into '->', does it do this?
what happens if put "->" after pUnknown and press ctrl_space? what effect does the default intellisense setting have?
is CUnknownClass coloured as a class type? do you get any information on this class type in either the VA wizard bar or in the HCB?
its a lot of questions, but something odd is going on here and i am trying to pin it down.
do you have the option of zipping up and emailing me a copy of a problem project? if so i can try and reproduce the problem here. |
zen is the art of being at one with the two'ness |
|
|
schweikl
New Member
8 Posts |
Posted - Jun 29 2005 : 04:15:00 AM
|
<if you look in the OFIW dialog are all of the cpp and .h files listed?>
YES (BUT ONLY ALL FILES OF THE PROJECT, NOT THE FILES OF THE BASECLASSES)!
<if you type part of the name of a file containing a class you are not getting help on, is it in this list?>
NO!
<if you turn on: VA Options -> text editor -> listboxes -> get content from default intellisense does this make any difference to these unknown classes?>
NO!
<assuming you have a problem class called CUnknownClass, what happens if you type the code:
CUnknownClass *pUnknown; pUnknown.|
depending on your settings VA should turn the '.' into '->', does it do this?>
YES!
<what happens if put "->" after pUnknown and press ctrl_space? what effect does the default intellisense setting have?>
THE DEFAULT INTELLISENSE AND/OR THE VA INTELLISENSE DO NOTHING!
<is CUnknownClass coloured as a class type?>
NO!
<do you get any information on this class type in either the VA wizard bar or in the HCB?>
NO!
its a lot of questions, but something odd is going on here and i am trying to pin it down.
<do you have the option of zipping up and emailing me a copy of a problem project? if so i can try and reproduce the problem here.>
Unfortunately not! It's code for my company and it's secret!
|
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Jun 29 2005 : 3:00:31 PM
|
OK, this makes sense. it looks like VAX does not know anything about the files for the base classes, which seems to explain the problems you are having.
now the problem is why does VAX not know about these files. i know this is frustrating, but unless i can understand, and ideally reproduce the problem it is hard to do much.
are you using more than one project in this work space? if so are the base class files in a different project to the derived classes?
are the cpp and .h files for the base classes listed in the file view in the IDE?
it sounds like default intellisense does not understand these base classes either. it is almost as if the base class is contained in a library that you are linking against at compile time.
is the workspace setup to use environment variables to locate the base class source code or library files?
i appreciate that the code is secret. it was a long shot that it was not secret, but it was worth asking on the off chance. |
zen is the art of being at one with the two'ness |
|
|
schweikl
New Member
8 Posts |
Posted - Jun 30 2005 : 10:56:24 AM
|
quote: are you using more than one project in this work space? if so are the base class files in a different project to the derived classes?
I use only one project in the workspace.
quote: are the cpp and .h files for the base classes listed in the file view in the IDE?
The header of the base classes are in the section "external dependencies"
quote: it sounds like default intellisense does not understand these base classes either. it is almost as if the base class is contained in a library that you are linking against at compile time.
The base classes are in several static libraries. The nessesary headers are included into the project.
quote: is the workspace setup to use environment variables to locate the base class source code or library files?
The header directories are included in the c++ settings (preprocessor)as relative paths and the libraries are included in the link settings (input), additional the library path is included there as a relative path.
But don't forget, that everything worked fine in 1301. So, there must be a significant change between 1301 and 1408. |
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Jun 30 2005 : 4:54:40 PM
|
between 1301 and 1408 support was added for the VS 2005 IDE, which seems to have entailed a lot of work. the more work that is done, the greater the risk of something breaking *sigh*
if we can pin down what is going on here, so that i can reproduce it i will put in a case.
i don't use VC6 so i am not an expert on setting it up, so i want to double check something here.
in VC6, tools menu -> options -> Directories tab
have you added the directory holding the base class header files to the "include files" list?
when i add a directory to this list in VC6, using VAX 1418 and then restart VC6 this directory is listed in:
VAX options -> Projects -> C/C++ Directories -> Stable include files
if you have done this in the IDE, is this directory listed in VA's stable include files list?
quote: Originally posted by schweikl
The header of the base classes are in the section "external dependencies"
where are you finding this section? i am not finding anything that sounds like this in the file view, or in tools -> options. |
zen is the art of being at one with the two'ness |
|
|
jpizzi
Tomato Guru
USA
642 Posts |
Posted - Jul 01 2005 : 12:30:56 AM
|
From MSDN for VC6:
quote: FileView Home Page (Projects) | Overviews | How Do I... Topics | NMAKE Reference
The FileView pane shows relationships among the projects and files included in the project workspace. The relationships in FileView are logical relationships, not physical relationships, and do not reflect the organization of files on your hard disk.
FileView shows the relationships of the source files and the dependent files used to build all project configurations. The active project in the workspace is indicated in FileView by bold type. The active configuration determines which set of build options is used when you build the active project. The active project is the project that will be built when you use the commands Build or Rebuild All. You can select a different active configuration by using the Set Active Configuration command on the Build menu. You can select a different active project by using the Set Active Project command on the Project menu.
Note The External Dependencies folder lists files that are not part of the project but that are needed to build the project. You can add a file to the project by simply dragging it from the External Dependencies folder to any of the project folders, or to any top-level project node.
Hope that helps. |
Joe Pizzi |
|
|
schweikl
New Member
8 Posts |
Posted - Jul 01 2005 : 04:08:50 AM
|
quote: in VC6, tools menu -> options -> Directories tab have you added the directory holding the base class header files to the "include files" list?
when i add a directory to this list in VC6, using VAX 1418 and then restart VC6 this directory is listed in:
VAX options -> Projects -> C/C++ Directories -> Stable include files
I have done this and this works now for the symbols, parameter infos, intellisense and so on. But there are many, many include directories i have to put there. I did not test all of the base class directories.
It does not work so easy for header <--> source switch. I have to add the source directory and the header directory that this works. And this i have to do for every project.
quote: if you have done this in the IDE, is this directory listed in VA's stable include files list?
Yes.
quote:
The header of the base classes are in the section "external dependencies" where are you finding this section? i am not finding anything that sounds like this in the file view, or in tools -> options.
Thank you Joe for finding this topic of the msdn! You can see the "external dependencies" only when you did at least one build of your project. |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Jul 01 2005 : 8:08:33 PM
|
Looks like project specific AdditionalIncludeDirectories in vc6 is hosed.
case=689
|
|
|
|
Topic |
|