2012-04-14 68 views
4

我正在研究一个旧的vb6应用程序(长篇故事,.NET Framework不可用)。可以将Visual Basic 6类属性类型作为Enum

我想知道,我可以声明一个vb6类属性项作为一个枚举?

例如

Public Enum WinInetPort 
    INTERNET_INVALID_PORT_NUMBER = 0 
    INTERNET_DEFAULT_FTP_PORT = 21 
    INTERNET_DEFAULT_GOPHER_PORT = 70 
    INTERNET_DEFAULT_HTTP_PORT = 80 
    INTERNET_DEFAULT_HTTPS_PORT = 443 
    INTERNET_DEFAULT_SOCKS_PORT = 1080 
End Enum 

类模块:

Private m_Port As WinInetPort 
Public Property Get Port() As WinInetPort 
    Port = m_Port 
End Property 
Public Property Let Port(val As WinInetPort) 
    m_Port = val 
End Property 

但是,我编译

只有意见可以结束子,端功能后出现,或高端物业

时会出错该错误在班级中的下一个私人陈述中突出显示。

我读过网上的某个地方vb6类不能暴露公共常量 - 有没有解决方法?

谢谢

+0

你得到的错误与事实没有关系,使用枚举在VB6中有一些限制。你只是在某个地方犯了一个错字。 – Dabblernl 2012-04-14 12:47:25

+0

对于我来说,无论是在课堂上还是在模块中声明的枚举,你所拥有的都是完美无缺的,这个问题必须存在于其他地方。 – 2012-04-14 12:47:41

+0

尝试在端口后添加另一个属性,然后运行代码。如果我在类中的Port Property之后什么都没有,那么它将工作,如果我在Port属性之后定义了其他一些属性,则会出现错误。 – Ben 2012-04-14 12:53:50

回答

5

而不只是给你一个-1,真正的编码器将有所帮助。

确保您的所有私人声明都位于属性声明之上。