URGENT: C++ Builder type library problem

Hi there,

Please could someone help me with a problem compiling an application using an imported TLB file from an exe COM server written in Visual C++. I am getting ambiguity errors for which there is no logical explanation. The error is "Ambiguity exists between TGUID and System::TGUID". The line pointed out as the line on which the error occurs is in the TLB.h file !!! I cannot understand this.

Please help me as I am getting desperate !!!

Thanks,

Robert Lancaster


zaroblanAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
DrDelphiConnect With a Mentor Commented:
it actually does make sense... what is happening is that you have something defined as TGUID in the TLB file, but not specified as being from System. Much the same way you need to specify Graphics::TBitmap rather than just TBitmap,since Tbitmap is also defined in Windows.You should just be able to ammend your code to include the System:: identifier.


Good luck!!
0
 
zaroblanAuthor Commented:
I have 200 more points to give if someone can help me
0
 
BeyondWuCommented:
Are you define TGUID in your VC's component?Redefine it with other name.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
zaroblanAuthor Commented:
Hi there,

There is no definition of any sort redefining TGUID. If I take the type library as-is and include it another project it compiles with no problems. I know that there are twi definitions for TGUID in C++ Builder, one resides in the unit Ole2 and the other one is in System. Ole2 is often, if not always, used when writing COM-based applications. Is there any way around this ?

Thanks,

Robert Lancaster
0
 
DrDelphiCommented:
Ole2 is not used in current versions of BCB. It was left in a seperate directory for backward compatibility functions (VarToInterface, for example). I suspect that you have your library path set to include that directory when in fact it should not. Also, the lion's share of the newer COM functionality now resides in the COMOBJ,ACTIVEX and AXCTRLS units. Please verify and advise.


Good luck!!
0
 
griesshCommented:
Dear zaroblan

I think you forgot this question. I will ask Community Support to close it unless you finalize it within 7 days. You can always request to keep this question open. But remember, experts can only help you if you provide feedback to their questions.
Unless there is objection or further activity,  I will suggest to accept

     "DrDelphi"

comment(s) as an answer.


PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
======
Werner
0
 
MindphaserCommented:
Force accepted

** Mindphaser - Community Support Moderator **
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.