FAQ > 客户端升级

2023-06-08客户端升级说明    

简述
更新日志--------2023-06-08
修正:用户定义的多选列表参数问题。
修正:python调用失败未做失败返回的问题。
升级:python pycall支持在数组中送入字符串下标作为命名参数。
升级:python在FileMgr.ini里[python Config] Unicode=整数 这个整数可以控制unicode行为,如果Unicode .& 2 为真,则TSL的ansi串直接转为unicode给PYTHON,如果 UniCODE .& 1 为真,则Python的unicode串直接转为TSL的unicode串
升级:新增office_plugin支持直接对xlsx,docx等直接读写操作。
  • 2023-06-08 升级说明:
    -------------------------------------------
    修正:用户定义的多选列表参数问题。
    说明:补充天软自定义多选参数类型的功能。
    其用法可参考:FAQ:Q:天软自定义多选参数类型的功能与用法说明
    -------------------------------------------
    修正:python调用失败未做失败返回的问题。
    说明:天软调python功能的接口中,调用失败时,修正不报错的问题。
    比如pyCall模型中,当第一个参数设置为2时,函数参数以一个数组送入的模式下,调用失败时调用结果还是返回1,而不是0的问题。
    升级后,解决该问题,当调用失败时,pyCall返回结果中,第一个值返回0,第二个值返回具体报错信息,如下:

    -------------------------------------------
    升级:python pycall支持在数组中送入字符串下标作为命名参数。
    说明:Pycall第一个参数当其第二位设置为真时,即函数参数以一个数组送入的模式下,参数数组如果给字符串下标,表示命名参数,可方便给python函数传入可选参数。升级前不支持该种用法,会直接报错。
    例如:
    rdo2 PyRun("import numpy");
    return rdo2 pycall(2,'numpy.random','randint',array('high':9,'low':6));

    -------------------------------------------
    升级:python在FileMgr.ini里[python Config] Unicode=整数 这个整数可以控制unicode行为,如果Unicode .& 2 为真,则TSL的ansi串直接转为unicode给PYTHON,如果 UniCODE .& 1 为真,则Python的unicode串直接转为TSL的unicode串

    说明:在调用python模型的过程中,由于天软平台编码是gbk,而python默认为unicode,在对字符的转换,特别是中文的处理时,会存在一定的问题。
    有了该功能之后,就能很好地解决该类编码转换的问题。
    该功能的详细介绍会在python交互文档中维护。
    FAQ:2019-05-08-应用专题-第三方交互07:天软平台和PYTHON的交互
    例如:
    配置文档FileMgr.ini(打开方式:客户端 ->系统 ->系统设置->打开文件信息配置文件)设置如下:
    [Python Config]
    Enabled=1
    version=3
    Unicode=2

    tsl脚本中执行:
    data := "中文CHANA";
    pyputvar('data',data);
    pyrun('print(data)'); 
    pyrun('print(type(data))'); 
    b:=pygetvar("data"); 
    echo tostn(b);
    return 1;

    传入python中后,类型为python的字符串类型,即变量传入成功:

    注:升级前执行上面的脚本会报错
    -------------------------------------------
    升级:新增office_plugin支持直接对xlsx,docx等直接读写操作。
    说明:升级后自带tsOffice相关的部分dll包,目前相关包配带还不完全,用户可先手动补包使用,或关注下一次的升级。
    完整配置及功能介绍可参考:FAQ:Q:天软office交互工具之TSOffice使用说明
    升级前,需要用户手动增加dll包。
    -------------------------------------------