autECLFieldList.count返回1,而不是屏幕上的字段数

时间:2019-01-15 15:30:09

标签: vbscript 3270 ibm-pcomm

AutEclFieldList.Count返回1,而不是屏幕上的字段数。这是在同事会议中发生的。在我自己的会话中,我收到数字122,这在标签和数据字段的总数上似乎是正确的。

我们都拥有带有20170427 S的12.0版本-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

2 个答案:

答案 0 :(得分:0)

不是IBM Host Access Class Library Automation Objects的专家,只是看似乎暗示的文档;

  

来自autECLConnList Class中的Host Access Class Library Automation Objects documentation

     
     

刷新

     

Refresh方法获取所有已启动连接的快照。

     

注意:

     

您应该在访问autECLConnList集合之前调用此方法,以确保您具有当前数据。

上面的代码未针对Refresh()集合调用autECLConnList,因此其他会话可能需要刷新连接。建议添加;

autECLConnList.Refresh

紧接之后;

Set autECLConnList = CreateObject("PCOMM.autECLConnList")

答案 1 :(得分:0)

尝试指定确切的会话名称而不是浮点数,并在每次集线器重新启动后尝试通过自动化运行一次。我遇到过类似的错误,其中一个会话无法正常工作,而另一个会话却可以在同一台PC上正常工作。我相信这是一个HUB事物连接/会话,而不是编码。。。仍然没有弄清楚为什么。几乎在每个新的Hub会话中,第一次失败。