Как подключить VBA с эмулятором Rumba 3270

Я понял, что для подключения к мэйнфрейму Rumba 3270 мне нужно включить

"Ehlapi32.DLL"

Однако, когда я погуглил, я обнаружил множество функций, которые я не знаю, как использовать. У меня есть следующий код для подключения, но возвращается ошибка подключения.

Sub fConnect()
    nRT = 0
    Call hllapi(1, ByVal "A", 0, nRT)

    If nRT <> 0 Then 'if not made connection display a Error
            MsgBox "Connection Error. Try again"
    Else
            strConectado = True
    End If
End Sub

Ниже приведена функция hllapi

Declare Function hllapi Lib "C:\Program Files\NetManage\System\Ehlapi32.DLL" (Func As Integer, ByVal lpszData As String, Length As Integer, Value As Integer) As Integer
Declare Function OSGetPrivateProfileString% Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal ReturnString$, ByVal NumBytes As Integer, ByVal FileName$)
' HLLAPI FUNCTION DECLARATIONS

Public nRT
Public strConectado As Boolean

Public Enum ImpulseKeyEnum
    ike_enter = 0
    ike_f1 = 1
    ike_F2 = 2
    IKE_F3 = 3
    ike_F4 = 4
    ike_F5 = 5
    ike_F6 = 6
    ike_F7 = 7
    ike_F8 = 8
    ike_F9 = 9
    ike_F10 = 10
    ike_F11 = 11
    ike_F12 = 12
    ike_F13 = 13
    ike_BackTab = 93
    ike_Left = 94
    ike_right = 95
    ike_UP = 96
    ike_Down = 97
    ike_Tab = 98
    ike_clearfield = 99
    ike_Attention = 100
End Enum

Public Enum PositionSearch
    ika_right = 1
    ika_Left = 2
End Enum

Когда я запускаю программу с открытым RUMBA с помощью клавиши F8, это показывает ошибку. Переменная "nRT" устанавливается как "1" вместо "0".

1 ответ

Вы даете имя вашей связи как "А". Если это не "А", это даст ошибку.

Сначала дайте имя короткому имени сеанса как "A". Тогда беги снова.

Другие вопросы по тегам