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
 Visual 6/ATL/Templates?
 New Topic  Topic Locked
 Printer Friendly
Author Previous Topic Topic Next Topic  

rittjc
Ketchup Master

USA
84 Posts

Posted - Jul 21 2005 :  5:32:10 PM  Show Profile
I just went back to do some maintenance on a Visual C++ 6 project working with smart pointers (wow, I forgot how bad C++ sucked). I selected an instance of an ATL smart pointer (basic template that wraps a COM interface) and tried to get the VA intellisense to work. All I get are the methods of the ATL template class CComPtr, (whether or not I use it as the object instance or the templated pointer) but not the methods on the interface. Has this functionality broken in 1418, i.e. is this a known problem? I believe it worked pretty good in the 13xx days, though it has been a while since I used Visual 6. I went into the headers and requested explicit reparses for each one, including the ATL headers and interface's MIDL'd headers. Nota. Any thoughts?

SvenC
Tomato Guru

Germany
339 Posts

Posted - Jul 22 2005 :  03:29:23 AM  Show Profile
Hmm, that is working fine for me. You might try to delete the ncb file of your project. Delete the file after you closed the workspace or the whole IDE.

Sometimes I recognized different behaviour for template stuff when I toggled the VAX option "Get content from default Intellisense" which you'll find under Text Editor/Listboxes.

Bye,
SvenC
Go to Top of Page

rittjc
Ketchup Master

USA
84 Posts

Posted - Jul 22 2005 :  12:29:06 PM  Show Profile
Sven,

I tried your suggestions but none worked. Thanks just the same. When I select the interface reference and hit "Goto definition" it goes to a forward reference in a header file. I wonder if VA has trouble with these.
Go to Top of Page

SvenC
Tomato Guru

Germany
339 Posts

Posted - Jul 25 2005 :  05:05:34 AM  Show Profile
Hi rittjc,

I've tested this in an old MAPI project and those MAPI interfaces are defined through really unreadable #define constructs. Earlier versions of VAX have not been able to parse those correctly but at some point it could and for me it is still working with 14xx. So the parsing has become better for me - but their might still be "problematic code patterns".

Do you have your interface header file in the same directory as the dsw/dsp files? I think I read about problems with "sub-folder-projects".

You might also try to set up a mini project to produce a small repro-project for the VAX devs.

Bye,
SvenC
Go to Top of Page

rittjc
Ketchup Master

USA
84 Posts

Posted - Jul 25 2005 :  10:37:13 AM  Show Profile
Sven,

All of our interface definitions are in folders above the level of the project folders. They are not usually "sub-folder" but rather found in a separate hierarchy branch above and over. For me, VAX is not working for interfaces at all and for ATL smart pointers, it only shows the CComPtr template members of the smart pointer. Fortunately, I donG??t have a lot to do in the VC++ 6 world so I can make the changes manually without the help of VA. But I figured this was a problem that was known and there was a workaround or explanation as to why it happens. If someone is working in VC++6 full time, I would think it would be a big problem.

Jim
Go to Top of Page

SvenC
Tomato Guru

Germany
339 Posts

Posted - Jul 25 2005 :  10:43:39 AM  Show Profile
Hi rittjc,

I guess it has to do with your interface definitions being in a file in another folder than the project folder. You could try to add those directories to the list of VAX directories: VAX options: Projects->C/C++ directories.

Maybe someone of the VAX team can give more details or a reference to related existing topics?

Bye,
SvenC
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Jul 25 2005 :  3:15:05 PM  Show Profile
rittjc,

You are using VC6? Does the dsp you are using have "AdditionalIncludeDirectories" that point to your interface definition directory? If so, this is a bug in 1418 case=689. Until the next build, a workaround is to add those "AdditionalIncludeDirectories" to the the VA "Other Include Files" list in the C/C++ Directories page (under the Projects tree node)(you will have switch the platform from Win32 to Custom too).
Go to Top of Page

rittjc
Ketchup Master

USA
84 Posts

Posted - Jul 26 2005 :  08:57:39 AM  Show Profile
Sean,

I am using VC6. Yes I do have AdditionalIncludeDirectories that point to the header files generated by MIDL. So, it looks like you guys are aware of the problem and are working on it. Mission accomplished. Thanks.

Jim
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