C#Com枚举和VB6
嗨,我创建了C#Exe Com服务器,并从VB6应用程序引用它。 问题是,在vb应用程序:EnumName_EnumeItem中,所有枚举都以“奇怪的名称”公开,而从VB6代码引用为EnumName.EnumItem 无法修改VB6应用程序代码。 我想知道,我可以通过更改tlb的idl提取来更改这个定义,但未能确切了解它是如何完成的,以及用于此工作的工具是什么 有什么建议可以轻松设置枚举吗 守则:C#Com枚举和VB6,c#,com,vb6,enums,com-interop,C#,Com,Vb6,Enums,Com Interop,嗨,我创建了C#Exe Com服务器,并从VB6应用程序引用它。 问题是,在vb应用程序:EnumName_EnumeItem中,所有枚举都以“奇怪的名称”公开,而从VB6代码引用为EnumName.EnumItem 无法修改VB6应用程序代码。 我想知道,我可以通过更改tlb的idl提取来更改这个定义,但未能确切了解它是如何完成的,以及用于此工作的工具是什么 有什么建议可以轻松设置枚举吗 守则: public enum enResultCode : uint { enRCNone =
public enum enResultCode : uint
{
enRCNone = 0x00000000,
enRCNotFound = 0x00000001,
enRCFoundOnServer = 0x00000002,
enRCFoundOnLocal = 0x00000003,
enRCDatabaseError = 0x00000004,
enRCAborted = 0xFFFFFFFF,
enRCServerError = 0xFFFFFFFE,
enRCLocalError = 0xFFFFFFFD
}
在VB6中显示为:
而不是:
enResultCode.EnumItemName
我认为您是正确的,唯一的方法是自己修改IDL。我可以告诉你一些事情是怎么做的
这应该足够了。很抱歉,我无法为您提供所有正确的命令行开关,但我现在不在Windows计算机上。谢谢您的支持。我从idl创建tlb时遇到一些问题。稍后将对此进行评论(在我得到答案后)。