У меня есть проект 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.
Но, глядя на их определение в OLE / COM Object Viewer, кажется, что они определены как значения перечисления :
typedef enum {
LockSetGet = 0,
LockMethod = 1
} __MIDL___MIDL_itf_autosvcs_0469_0002;
Почему перечисления IDL / TypeLib из COMSVCSLib не отображаются как перечисления в Visual Basic 6.0?