Hard Call в VB6

На VB6 у меня написана внешняя компонента для биометрии Anviz. Хотел сделать, чтобы можно было вызывать метод самой компоненты по имени.
Для этого сделал функцию Hard Call, но не нашел, как вызвать метод VB6 по имени. Поэтому тупо обошелся Select Case (под катом).
Какое-то время бился, чтобы найти способ разыменования, но не нашел.
Правда, набор функций API Anviz ограничен, так что хоть и не универсально получилось, но работает.
Лучшее - враг хорошего.
Function localHardCall(ParamVal() As Variant)
'MsgBox "ParamVal1: " & ParamVal(1)
Select Case ParamVal(1)
Case "CKT_SetDeviceAdminPassword"
localHardCall =
CKT_SetDeviceAdminPassword(ParamVal(0), ParamVal(2))
Case "CKT_SetSpeakerVolume"
localHardCall =
CKT_SetSpeakerVolume(ParamVal(0), ParamVal(2))
Case "CKT_SetRealtimeMode"
localHardCall =
CKT_SetRealtimeMode(ParamVal(0), ParamVal(2))
Case "CKT_SetRingAllow"
localHardCall =
CKT_SetRingAllow(ParamVal(0), ParamVal(2))
Case "CKT_SetDoor"
localHardCall =
CKT_SetDoor(ParamVal(0), ParamVal(2))
Case "CKT_SetWG"
localHardCall =
CKT_SetWG(ParamVal(0), ParamVal(2))
Case "CKT_SetRepeatKQ"
localHardCall =
CKT_SetRepeatKQ(ParamVal(0), ParamVal(2))
Case "CKT_SetAutoUpdate"
localHardCall =
CKT_SetAutoUpdate(ParamVal(0), ParamVal(2))
Case "CKT_SetWorkCode"
localHardCall =
CKT_SetWorkCode(ParamVal(0), ParamVal(2))
Case "CKT_SetSleepTime"
localHardCall =
CKT_SetSleepTime(ParamVal(0), ParamVal(2))
Case "CKT_SetDeviceSno"
localHardCall =
CKT_ModifyDeviceSno(ParamVal(0), ParamVal(2))
Case "CKT_SetDateTimeFormat"
localHardCall =
CKT_SetDateTimeFormat(ParamVal(0), Int(ParamVal(2) / 10),
ParamVal(2) Mod 10)
|
</> |