Hi I created C# Exe Com Server and refer it from VB6 application. The problem is that all the enums are exposed with "strange name" in the vb app: EnumName_EnumeItem, while reffered from then VB6 code as EnumName.EnumItem.
The VB6 application code cannot be modified. Wondering around I saw I can change this definitions by changing the idl extract fro the tlb, but failed to understand exactly how it's done, and what are the tools for the job.
Any suggestions how to set the enums easily as possible?
The code:
public enum enResultCode : uint
{
enRCNone = 0x00000000,
enRCNotFound = 0x00000001,
enRCFoundOnServer = 0x00000002,
enRCFoundOnLocal = 0x00000003,
enRCDatabaseError = 0x00000004,
enRCAborted = 0xFFFFFFFF,
enRCServerError = 0xFFFFFFFE,
enRCLocalError = 0xFFFFFFFD
}
Shown in VB6 as:
instead of:
enResultCode.EnumItemName
I think you're correct the only way to do this is to modify the IDL yourself. I can tell you a little about how it's done...
That should be enough. Sorry I can't give you all the correct command line switches but I'm not on a Windows machine right now.
User contributions licensed under CC BY-SA 3.0