Hard Call в VB6

топ 100 блогов fixin09.09.2015

На VB6 у меня написана внешняя компонента для биометрии Anviz. Хотел сделать, чтобы можно было вызывать метод самой компоненты по имени.


Для этого сделал функцию Hard Call, но не нашел, как вызвать метод VB6 по имени. Поэтому тупо обошелся Select Case (под катом).


Какое-то время бился, чтобы найти способ разыменования, но не нашел.


Правда, набор функций API Anviz ограничен, так что хоть и не универсально получилось, но работает.


Лучшее - враг хорошего.


Hard Call в VB6



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)

Оставить комментарий

Архив записей в блогах:
На дворе месяц КОТябрь, потому я предлагаю вам очередную КОТОлотерею ;) С вашими пушистыми (и не очень), полосатыми и всякими-разными котами я уже познакомилась, поэтому просто мяукайте отмечайтесь в комментариях. Можете рассказать что-нибудь о ...
Почему в процветающем СССР при прогрессивном коммунизме товарищ рядовой инженер мог только мечтать о машине, в то время как в загнивающих США при людоедском капитализме господин рядовой инженер имел машину, жил в просторной квартире (или в ...
Основные туристические показатели (турпоток, объем туристического потребления, вклад в бюджет столицы) превзошли значения за аналогичный период рекордного 2019 года и оставили далеко позади 2023 г. ...
На днях была съемка практически деревенских антуражей:) Покажу не бэкстейдж, но несколько деталей. По мне милота:) Особенно котик Васька. Домик такой маленький, полы деревянные, крашеные. Глаз уже режет - непривычно. Хотя много где еще такие остались. - Пожрать принесли? полы ...
О, книжечка вышла уже с месяц, а я и не заметила. Лоуренс Бергрин, "Марко Поло. От Венеции до Ксанаду" Я ее переводила когда-то для Мидгарда, и было мне страшно интересно. Это такое слегка беллетризированное жизнеописание с порядочным историческим фоном и обширными цитатами. Тогда мне ...