我有一个相当复杂的Lasso 8方法(自定义标签),我想在Lasso 8和Lasso 9中运行。(在我们过渡到Lasso 9期间,我们设置虚拟主机指向具有不同主机名的同一Web根目录。)我已经将Lasso 8方法简化为以下内容,它仍然无法在Lasso 9中运行:
<?LassoScript
define_tag('old8method', -required='input', -type='string');
return(#input);
/define_tag;
old8method('test');
?>
从Lasso 9中得出以下错误:
错误代码:-1错误消息:位置超出范围:0最大值为1错误 堆栈:
3:1 myfile.lasso
无论是使用我的200行方法还是使用此简化测试,错误都是一样的。
有关修改Lasso 8 define_tag代码以便Lasso 9使用它的任何建议吗?
提前感谢您的时间和帮助。
-Justin
答案 0 :(得分:1)
这是9.2.6初始版本中的一个错误。如果在Linux上,请尝试使用包管理器进行更新。如果是OS X,请从LassoSoft网站下载最新的安装程序并重新安装。如果这不能解决问题,请恢复到9.2.5并为您正在使用的特定平台提交LassoSoft的错误。
答案 1 :(得分:0)
我测试了提供的示例,它对我来说很好(9.2.5 OSX)
如果存在挥之不去的签名导致混淆,可能值得重新启动您的实例。可能会触发旧定义导致您看到的错误。
答案 2 :(得分:0)
我建议你将你的定义包装在条件中。因此能够在同一文件中提供8.X和9.X定义。
if(lasso_version >> '9.');
define old8method(input::string);
return #input;
/define;
else;
define_tag('old8method', -required='input', -type='string');
return(#input);
/define_tag;
/if;
答案 3 :(得分:0)