I tried the 0.41 *.exe with a some source code, that declares interfaces, the way:
ITextMessageListener = interface (IUnknown)
procedure OnMessage( sender : TObject; textMessage : string);
ITextMessageProvider = interface (IUnknown)
and had the problem described in 1408535.
I downloaded the src, to see if there is an easy fix, but to my surprise (after spending the weekend getting my old MSVC7 running again, thanks MS :-), I found out the debugger showed no error.
I changed nothing in the source, just build it from scratch with MSVC7!
That, BTW also solved the "empty" class issue.
Just wanted to share that experience with you.
I haven't had the time to check this issue myself yet.
But I think you are saying that interfaces are being handled correctly in the 0.50rc1 source code. Ie. The latest pas2dox.l under CVS.
Let me know,
the version says:
const char* version = "0.42alpha";
I run it from scratch with flex 2.5.4 under cygwin and Microsofts cl version 13.00.9466 as a MS-VC++ 2002 (V7) project.
Than it just worked.
I just got cvs through my firewall(s) (little hint to everybody: You have to allow sending on port 2401 for authentification to work. :-)
So I was able to not relay on the outdated zip, but use the CVS
const char* version = 0.50rc1;
Works fine with interfaces in the configuration as above.