"版本: 20250313-20250315 splx 路径是相对主目录的路径 图片通过微信上传不上来。 手机端网页版又没办法登录,只能用另一台手机扫码? 只有一行代码: register(“f .."
版本: 20250313-20250315splx 路径是相对主目录的路径
图片通过微信上传不上来。手机端网页版又没办法登录,只能用另一台手机扫码?
只有一行代码:
register(“func_name”, “splx 相对于主目录的路径”)
直接报错空指针异常。
addDFXFunction:391 行
可以再详细描述下您的用法吗,本地测试相对路径是可以正常登录并调用函数的
详细报错信息也麻烦发一下
Alt+Enter,单个单元格执行。
内网机器。拍照截图发不出来。
在脚本没有执行过(没点过运行按钮),或者执行过,在“程序”菜单里重置环境,然后在 register 所在单元格上 Alt+Enter 执行,就会报空指针,看代码可能是 JobSpace 没有初始化。
把带有 register 函数的脚本,添加为初始化程序,同样会注册函数失败,只不过没有错误信息。怀疑都是因为没有初始化内部 JobSpace 变量引起的空指针异常。
我把遇到的情况发在了评论里。
ide 要先执行一下才会准备计算环境,register 函数需要相应的计算环境,所以这个表达式不能在不执行网格的情况下直接用 Alt+Enter 单独执行。执行单个单元格最初的设计思想是先执行网格,然后修改下脚本,再单独执行这个格子看看结果。
在【工具 - 选项 - 环境】这里,我是放在“初始化程序”里面的,这里也无法执行,在程序启动的时候预加载一些常用函数进去,但在在 20250313 的版本里函数都加载不出来了,报错“不识别的表达式”,总不能让我在每一个脚本里都写一堆 register 函数吧,这也太 low 了,而且这样的话函数会一直重复注册,也不知道会不会有其他问题。
而且我记得,在哪里写到过 SPL 是解释型的脚本,在 IDE 里单条语句都无法执行,这也不太说得过去,最起码 spl 一直对标的 python 是可以做到的,同样作为解释性语言。而且,既然在 context 里做了 jobspace,最起码在执行网格之前应该 jobspace 给初始值的吧,而不是等它报空指针。
目前 register 是放到 jobspace 里的,而不是全局的东西。这是考虑到同样的函数名在不同任务空间中可能解释不一样。而初始化时,jobspace 还不存在。不过确实不该报空指针错,应该报个错说 register 失败。这个之后看是不是加个选项也支持全局的 register 了,现在只能把所有 register 写到一个脚本里 call 一下,稍麻烦点。
这和单条语句执行(alt-enter)不相关。
那以我目前使用的版本 20250117-20250218 来说,return 逻辑是有问题的,我上一个帖子有提到,而且在 20250313-20250315 里修复了,但是,这个新版本却没办法兼容我的启动脚本,注册不了全局函数。目前 return 的问题我也只能 goto 解决一下,还是麻烦各位大佬能尽快出个能解决问题的版本吧。
对 register 函数做了修改,改成默认把函数注册到全局空间中,用 @j 选项表示注册到任务空间。等 bin 跟新后就可以使用了。
程序已更新,请前往下载贴中下载最新的 esproc-bin.jar 文件。
感谢各位大佬,两个问题就都解决了。
可以再详细描述下您的用法吗,本地测试相对路径是可以正常登录并调用函数的
详细报错信息也麻烦发一下
Alt+Enter,单个单元格执行。
内网机器。拍照截图发不出来。
在脚本没有执行过(没点过运行按钮),或者执行过,在“程序”菜单里重置环境,然后在 register 所在单元格上 Alt+Enter 执行,就会报空指针,看代码可能是 JobSpace 没有初始化。
把带有 register 函数的脚本,添加为初始化程序,同样会注册函数失败,只不过没有错误信息。怀疑都是因为没有初始化内部 JobSpace 变量引起的空指针异常。
我把遇到的情况发在了评论里。
ide 要先执行一下才会准备计算环境,register 函数需要相应的计算环境,所以这个表达式不能在不执行网格的情况下直接用 Alt+Enter 单独执行。
执行单个单元格最初的设计思想是先执行网格,然后修改下脚本,再单独执行这个格子看看结果。
在【工具 - 选项 - 环境】这里,我是放在“初始化程序”里面的,这里也无法执行,在程序启动的时候预加载一些常用函数进去,但在在 20250313 的版本里函数都加载不出来了,报错“不识别的表达式”,总不能让我在每一个脚本里都写一堆 register 函数吧,这也太 low 了,而且这样的话函数会一直重复注册,也不知道会不会有其他问题。
而且我记得,在哪里写到过 SPL 是解释型的脚本,在 IDE 里单条语句都无法执行,这也不太说得过去,最起码 spl 一直对标的 python 是可以做到的,同样作为解释性语言。
而且,既然在 context 里做了 jobspace,最起码在执行网格之前应该 jobspace 给初始值的吧,而不是等它报空指针。
目前 register 是放到 jobspace 里的,而不是全局的东西。这是考虑到同样的函数名在不同任务空间中可能解释不一样。
而初始化时,jobspace 还不存在。
不过确实不该报空指针错,应该报个错说 register 失败。
这个之后看是不是加个选项也支持全局的 register 了,现在只能把所有 register 写到一个脚本里 call 一下,稍麻烦点。
这和单条语句执行(alt-enter)不相关。
那以我目前使用的版本 20250117-20250218 来说,return 逻辑是有问题的,我上一个帖子有提到,而且在 20250313-20250315 里修复了,但是,这个新版本却没办法兼容我的启动脚本,注册不了全局函数。
目前 return 的问题我也只能 goto 解决一下,还是麻烦各位大佬能尽快出个能解决问题的版本吧。
对 register 函数做了修改,改成默认把函数注册到全局空间中,用 @j 选项表示注册到任务空间。
等 bin 跟新后就可以使用了。
程序已更新,请前往下载贴中下载最新的 esproc-bin.jar 文件。
感谢各位大佬,两个问题就都解决了。