ons, 31.12.2003 kl. 17.48 skrev Robert Shearman:
No. You should use cpp_quote. It may be necessary to disable stuff in the .h generated file which you can do with:
You can't use cpp_quote inside an interface definition. The quoted text would end up before the generated type, not inside. For interfaces, this even has a good reason: the IDL compiler must emit both C and C++ definitions for the interface, so the interface must be fully parsed first, and then the definitions generated. MS considers this a feature, as it lets you put typedefs and "import" statements inside the interface definition, without harm to the generated header, as the embedded typedefs and includes would still appear before the C/C++ definitions of the interface.
Even if cpp_quote statements could be parsed into the type instead of emitted directly, where would the result go? In the C definition of the interface? In the C++ definition? Both?
Apparently, MS didn't solve that problem, so widl hasn't either.