Re: distributing a COM library/server for use by other folks for C++
Jason S <jmsachs@gmail.com> wrote:
hmm, #import doesn't seem to take IDL as an input (maybe I'm using it
wrong).
#import needs a type library, either standalone in a .TLB file or bound
to DLL or EXE.
If I have any non-Automation-compatible interfaces does that mean I
can still use #import but not for those interfaces, or will #import
just fail altogether?
Non-automation compatible interfaces should not be put into a type
library in the first place. TLB format cannot represent all the subtle
details, so in worst case #import will (appear to) work but generate
headers that don't match the original interfaces.
For non-automation interfaces, distribute IDL and possibly .H files.
I think I'm missing the build process if you
have client Project A which uses an IDL from Project B to interface
correctly. If Project A is just a COM client, not a server, & doesn't
have its own IDL file, what do I do with B's IDL file to build A so
that it uses B's interface correctly?
Compile the IDL to generate .h and _i.c file, #include the former
wherever needed, add the latter to the project.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925