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
 VA gets confused on TLB file update
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

barik
New Member

Israel
2 Posts

Posted - Mar 13 2007 :  03:52:50 AM  Show Profile  Reply with Quote
In case you are using VisualAssist under MSVS6,
Please notice it has a bug in its symbols db\\cache management:

1. My project imports an external "tlb" file -> works fine: #import "myExternalLib.tlb".
2. Update the tlb interface (via the other external project).
3. Can compile my project according to the new interface, but VA symbols are still old.
4. Close my project and studio, and reopen -> VA symbols are still garbled.
5. Regenerate the tlb file, and create a NEW project that imports it -> VA symbols are still garbled.

Workaround: Go to VA options dialog, hit Rebuild\\Clear buttons, and reload your project.

This problem was encountered using the latest VA build 1548.
However, it didn't happen when tried the same VA under MSVS2005.

Edited by - barik on Mar 13 2007 10:02:19 AM

feline
Whole Tomato Software

United Kingdom
18952 Posts

Posted - Mar 13 2007 :  08:35:47 AM  Show Profile  Reply with Quote
Do you have a simple test project that demonstrates this effect? I have a couple of test projects that produce "tlb" files, but I am not seeing a test project that creates and then uses them.

This is something that I personally do not really know about.

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

barik
New Member

Israel
2 Posts

Posted - Mar 15 2007 :  06:30:51 AM  Show Profile  Reply with Quote
You can easily create a simple project (I used WIN32 console app) that use it. As I mentioned above, try: #import "myExternalLib.tlb"
After recompile, notice the auto-generated TLH file is OK with the updated interface, but VA still displays the old symbols (though it might display the new ones too).

quote:
Originally posted by feline
...but I am not seeing a test project that creates and then uses them...
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18952 Posts

Posted - Mar 15 2007 :  12:53:31 PM  Show Profile  Reply with Quote
I was not clear, my mistake, sorry about that.

How do I create a "tlb" file, and how do I then change its interface? I have had a look for articles at codeproject.com, but I don't really want to read a long series of articles on COM just to run a couple of basic tests.

I have a ATL COM project in VC6, but this is not creating a "tlb" file. I had expected it to, given the name, but it isn't.

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

bugfix
Tomato Guru

Germany
324 Posts

Posted - Mar 15 2007 :  6:46:51 PM  Show Profile  Reply with Quote
feline, did you add an idl file to the project?

http://www.mf-sd.de
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18952 Posts

Posted - Mar 29 2007 :  3:07:00 PM  Show Profile  Reply with Quote
Apologies for the delay in getting back to you about this, a fairly major ignorance of COM, plus a lot of other jobs, slowed me down.

I now have a test solution, composed of two projects. One project creates the COM dll, and the second project uses it.

The project that uses the dll does so via the line:

#import "../Hello.tlb" no_namespace


and when I update the COM dll interface by adding a new function someone (I assume VA since "Get content from default Intellisense" is turned off) recognises this, and suggests the new function.

I am not rebuilding the symbol database, it just works.

Using alt-g on the new function takes me to the correct line in the IDL project.

Apart from having both projects inside one solution, am I doing something obviously wrong or invalid here?

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