Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 VA gets confused on TLB file update

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
barik Posted - Mar 13 2007 : 03:52:50 AM
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.
5   L A T E S T    R E P L I E S    (Newest First)
feline Posted - Mar 29 2007 : 3:07:00 PM
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?
bugfix Posted - Mar 15 2007 : 6:46:51 PM
feline, did you add an idl file to the project?
feline Posted - Mar 15 2007 : 12:53:31 PM
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.
barik Posted - Mar 15 2007 : 06:30:51 AM
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...
feline Posted - Mar 13 2007 : 08:35:47 AM
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.

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000