Главная страница | назад





Article #18718: Ambiguities with Windows when importing msword8.olb

 Question and Answer Database
FAQ3718C.txt Ambiguities with Windows when importing msword8.olb
Category : ActiveX/OLE/COM/ActiveForm
Platform : Win95/NT
Product : C++Builder3.x
Question:
I imported msword8.olb as described in BCB3-Patch in my project.
I just included the the Word_TLB.h into my program.cpp and compiled the
project.
The compiler gives me a lot of errors:
[C++Error] RichEdit.hpp(64): Ambiguity between 'Windows' and
'Word_tlb::Windows'.
[C++Error] ComCtrls.hpp(42): Ambiguity between 'Windows' and
'Word_tlb::Windows'.
[C++Error] Buttons.hpp(192): Ambiguity between 'Windows' and
'Word_tlb::Windows'.
[C++Error] Bde.hpp(3672): Ambiguity between 'Windows' and
'Word_tlb::Windows'.
Has anyone an ide on how to solve this problem ???
Answer:
It's fairly common that there are name conflicts when importing a type
library. For example, some typeLibraries even use identifier names that are
reserved keywords in C++. To address this issue we have an undocumented
hack: The code generator looks for a file by the name of TLIBIMP.SYM. This
file is a text file that simply list a bunch of identifiers that the Code
generator should treat as C++ reserved words. It sounds like you'll need to
add 'Windows' to this file. Most likely we never encountered the problem
because we never mixed WORD_TLB.H and RICHEDIT.HPP. However, you'll find out
that there are already a bunch of identifiers in that file and they were the
result of importing several well-known typelibraries.
Note: This workaround only applies to C++Builder 3 and C++Builder 4
8/26/98 2:26:52 PM

Last Modified: 28-DEC-99