Почему перечисления TypeLib не отображаются как перечисления в Visual Basic 6.0?

У меня есть проект VB6, который ссылается на COMSVCSLib, и один из методов вызывает вызовы SharedPropertyGroupManager.CreatePropertyGroup COMSVCSLib, передавая LockMethod и Process [1114481200] в качестве параметров. вверх Код VB6:

Dim groupName       As String
Dim spmMgr          As COMSVCSLib.SharedPropertyGroupManager
Dim spmGroup        As COMSVCSLib.SharedPropertyGroup

Dim bGroupExists    As Boolean

Set spmMgr = New COMSVCSLib.SharedPropertyGroupManager

With spmMgr
    Set spmGroup = .CreatePropertyGroup(groupName, LockMethod, Process, bGroupExists)

End With

Не работая с VB6 уже несколько лет, сначала я подумал, что LockMethod и Process - это переменные или константы, определенные где-то еще в рамках проекта.

После небольшого исследования обозревателя объектов я обнаружил, что они оба были представлены как константы в COMSVCSLib.

Object Browser

Но, глядя на их определение в OLE / COM Object Viewer, кажется, что они определены как значения перечисления :

typedef enum {
    LockSetGet = 0,
    LockMethod = 1
} __MIDL___MIDL_itf_autosvcs_0469_0002;

Почему перечисления IDL / TypeLib из COMSVCSLib не отображаются как перечисления в Visual Basic 6.0?

6
задан Alfred Myers 21 September 2010 в 20:17
поделиться