FAQ > 新一代客户端升级

2024-09-13新一代客户端升级说明    

简述
更新日志--------2024-09-13
修正:pdf_plugin。
升级:支持使用二进制类描述头中的静态常量。
修正:防止Python多线程锁失败使用强制加锁模式防止多线程运行不稳定。
升级:支持新的calcctrlword,0x100和0x200支持nil类型的.操作和[]操作,对于无参读操作返回NIL。
升级:新增nilinvoke预定义支持识别是否支持上述行为{$IFDEF nilinvoke} {$ENDIF}。
升级:支持::,:.,mcell,mrow,mcol,mIndexCount,mIndex等的对象重载,使得对象支持这些算符。
升级:新增pn_calcctrlword()常量函数。
升级:支持在pubkrnl.ini中[TSL]段中使用CalcCtrlWord=来控制缺省的计算控制字,使得系统的缺省行为可配置。
修正:使用HashCode调用方法的二进制类(如采用此特性开发的TStringList)的派生类,无法访问基类方法问题。
兼容:保持对nil for in什么都不做的行为,防止利用此特性的程序报错。
修正:特殊使用堆栈溢出未能被主动侦测的问题。
修正:堆栈溢出异常因堆栈缺乏无法记载具体原因的问题。
修正:fmarray的复数矩阵无法被子矩阵模式赋值的问题。
修正:syscreatemutex在ubuntu18.04下成功返回0的错误表现,并防止和LINUX其他句柄冲突。
  • 2024-09-13升级说明
    --------------------------------------------------
    修正:pdf_plugin。
    说明:新增功存在的问题的修正后的包。
    --------------------------------------------------
    升级:支持使用二进制类描述头中的静态常量。
    说明:为特定开发提供的新功能。
    --------------------------------------------------
    修正:防止Python多线程锁失败使用强制加锁模式防止多线程运行不稳定。
    说明:修正在TSL中多个函数中调用同一个python模块,同时运行过程中可能出现的结果不稳定的问题。
    --------------------------------------------------
    升级:支持新的calcctrlword,0x100和0x200支持nil类型的.操作和[]操作,对于无参读操作返回NIL。
    升级:新增pn_calcctrlword()常量函数。
    升级:支持在pubkrnl.ini中[TSL]段中使用CalcCtrlWord=来控制缺省的计算控制字,使得系统的缺省行为可配置。
    说明:支持对nil进行.和[]操作而不报错处理,该功能目前只在新一代TSL语言中支持。
    如:
    setsysparam(pn_calcctrlword(),0x100);
    t:=nil;
    return array(t.a,t[1]);
    在设置了calcctrlword后,上述操作不报错但会打印提示,返回nil。
    更多用法可参考:FAQ:Q:CalcCTRLWord系统参数设置:控制nil参与计算以及浮点除0的警告或者出错
    另,缺省行为可配置只对本地脚本运行的环境有效,对天软服务器运行无效。
    --------------------------------------------------
    升级:新增nilinvoke预定义支持识别是否支持上述行为{$IFDEF nilinvoke} {$ENDIF}。
    说明:由于天软中存在多套服务器及本地解析器,nil类型的.操作和[]操作目前只在新一代语言中支持,
    用户可通过预定义方式识别当前版本中是否支持calcctrlword设置0x100和0x200支持nil类型的.操作和[]操作
    如:
    {$IFDEF nilinvoke} echo "支持nil.[]"; {$ENDIF}
    return 1;
    若运行完后有打印"支持nil.[]"内容则说明当前环境下支持该设置,若无该打印则说明当前环境不支持。
    --------------------------------------------------
    升级:支持::,:.,mcell,mrow,mcol,mIndexCount,mIndex等的对象重载,使得对象支持这些算符。
    说明:为特定开发提供的新功能。
    --------------------------------------------------
    修正:使用HashCode调用方法的二进制类(如采用此特性开发的TStringList)的派生类,无法访问基类方法问题。
    --------------------------------------------------
    兼容:保持对nil for in什么都不做的行为,防止利用此特性的程序报错。
    说明:当for i in nil do操作时,程序不会报错,会直接跳过,在不完全矩阵中,对于未定义的单元不进行遍历,该表现一直如此,未做改变。
    --------------------------------------------------
    修正:特殊使用堆栈溢出未能被主动侦测的问题。
    修正:堆栈溢出异常因堆栈缺乏无法记载具体原因的问题。
    说明:修正特殊使用下(如类对象中重载关键字),某些错误用法未被正常处理的问题。
    --------------------------------------------------
    修正:fmarray的复数矩阵无法被子矩阵模式赋值的问题。
    说明:修正复数fmarray在赋值上存在的问题。
    --------------------------------------------------
    修正:syscreatemutex在ubuntu18.04下成功返回0的错误表现,并防止和LINUX其他句柄冲突。
    说明:Linux版本解析器中,syscreatemutex返回错误的问题的修正。
    --------------------------------------------------