autECLFieldList.count возвращает 1, а не количество полей на экране
AutEclFieldList.Count возвращает 1 вместо количества полей на экране. Это происходит на сессии коллег. В моем собственном сеансе я получаю число 122, которое кажется правильным по сумме меток и полей данных.
У нас обоих версия 12.0 с 20170427 S - 12.0.2.0 Я уже установил свой HostCodePage на "500 Belgium MNCS", как и его, но он все еще работает на моем компьютере.
Я сравниваю настройки мэйнфреймов двух сессий, но не могу найти вещи, которые имеют значение.
[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
Dim NumFields
Dim TextStr
Dim autECLPSObj
Dim autECLConnList
Dim ObjCtrlC
Set autECLPSObj = CreateObject("PCOMM.autECLPS")
Set autECLConnList = CreateObject("PCOMM.autECLConnList")
autECLPSObj.SetConnectionByHandle(autECLConnList(1).Handle)
autECLPSObj.autECLFieldList.Refresh
NumFields = autECLPSObj.autECLFieldList.Count
MsgBox "Numfields : " & NumFields
1 ответ
Не эксперт по объектам автоматизации IBM Host Access Class Library, но просто смотрит на документацию, которую он предлагает;
Из класса autECLConnList в документации по объектам автоматизации библиотеки классов доступа к хосту
обновление
Метод Refresh получает снимок всех запущенных соединений.
Замечания:
Вы должны вызвать этот метод перед доступом к
autECLConnList
сбор, чтобы убедиться, что у вас есть текущие данные.
Код выше не вызывает Refresh()
против autECLConnList
сбор, поэтому другой сеанс может потребоваться обновить соединения. Предложить добавление;
autECLConnList.Refresh
непосредственно после;
Set autECLConnList = CreateObject("PCOMM.autECLConnList")
Попробуйте указать точное имя сеанса вместо плавающего числа, и попробуйте выполнить автоматизацию один раз после каждого перезапуска концентратора. У меня были похожие ошибки, когда один сеанс не работал, а другой работал на моем компьютере. Я считаю, что это соединение / сессия HUB, а не кодирование... до сих пор не понимаю, почему. Сбой в первый раз почти на каждом новом сеансе Hub.