AutoIt:票证#3165:Call()函数用空数组调用会导致APPCRASH https://www.autoitscript.com/trac/autoit/ticket/3165 <p>通过Call()调用Ubound()时AutoIt3.exe APPCRASH错误:</p><pre class=“wiki”>Local$数组[0]$n=调用(“Ubound”,$array)</pre> 美国英语 AutoIt(自动识别) https://www.autoitscript.com/images/logo_autoit_back_210x72@2倍磅/加仑 https://www.autoitscript.com/trac/autoit/ticket/3165 追踪1.0.11 BrewManNH公司 2015年11月14日星期六20:26:14 GMT 摘要已更改 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:1 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:1 <ul><li>总结将0大小数组上用Call()函数调用的<em>Ubound()更改为用空数组调用的Call(</em></li></ul><p>您需要将UBound的参数放在引号内,否则您不会告诉函数在数组上使用UBound,而是告诉Call函数您正在向它发送一个参数数组,因为没有参数,所以它会崩溃。</p><pre class=“wiki”>Local$数组[0]$n=调用(“UBound”,“$array”)</pre><p>这是一个由于这个原因而崩溃的错误,但这个错误并不是你想象的那样。</p><p>我已经更正了错误报告的标题,以反映实际的错误情况。</p> 门票 雷诺数 2015年11月16日星期一13:10:47 GMT https://www.autoitscript.com/trac/autoit/ticket/3165#注释:2 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:2 <p>我已经尝试了您建议的方法,无论数组大小如何,它总是返回0。</p><pre class=“wiki”>Local$数组[]=[1,2,3]$n=调用(“UBound”,“$array”)</pre> 门票 BrewManNH公司 2015年11月16日星期一15:14:26 GMT https://www.autoitscript.com/trac/autoit/ticket/3165#评论:3 https://www.autoitscript.com/trac/autoit/ticket/3165#评论:3 <p>当我运行它时,收到一条错误消息,告诉我$array不是数组或映射,可能因为某种原因,您无法在Call中使用UBound。</p><p>如果可能的话,我会尽量避免使用Call,因为它几乎从来都不需要,而这个例子绝对不需要。但这与本例的重点无关,因为我不知道Ubound中是否有错误,或者使用带Ubound的Call时是否有错误。</p> 门票 jchd18型 2020年6月27日星期六10:24:16 GMT 状态变化;分辨率集 https://www.autoitscript.com/trac/autoit/ticket/3165#评论:4 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:4 <ul><li>状态从<em>新</em>更改为<em>关闭</em></li><li><strong>分辨率</strong>设置为<em>固定</em></li></ul><p>AutoIt的当前版本/测试版按预期工作。</p><pre class=“wiki”>Local$array=[1,2,3]本地$n=调用(UBound,$array)控制台写入($n&amp;@LF)</pre><p>正确显示3</p> 门票 匿名的 2020年7月11日星期六01:34:09 GMT https://www.autoitscript.com/trac/autoit/ticket/3165#评论:5 https://www.autoitscript.com/trac/autoit/ticket/3165#评论:5 <p>jchd18……不!对不起不是对不起它不是固定的。首先,虽然不是最重要的,但修复<em>需要</em>更改当前的代码库。它在哪里?不可想象的嗯。。。想想。。。想象中的Fixes会起作用,但我不知道,也许他们会,这是有争议的?</p><p>然而,如果一个人愿意仓促承认--(天哪,已经5-5年了!-很有效!我不认为这个借口会……呃……任何相关的人,现在会吗?)匆忙做出了错误的,不,错误的“judjmehnt”(原文如此),然后,好吧。。。它可以使这场混乱变得不那么糟糕。你知道,它甚至可能。。。修复它*嗯……噢,不!盘子掉了下来,从地板上弹下来,把墙摔成了两半!!快!获取FlexTape(c)(r)(tm)!备选方案yyy~也许一点常识就足够了。。。错误。好吧,你知道<em>那</em>!!这道菜叫起来会像新的一样!打电话给菲奥索里,不要破产&gt;你知道!;)或者,我们也可以直接拨打aLL的VoId UsiNg电话(c)BrewManNM,大约在公元前5年(今年之前)比如,我的意思是,为什么这样不行呢,阿米丽特?或者,如果你能修复代码编写者(“歪曲的愿望”),你可以修复代码吗?非常有用*</p><p>“当然,这里有一个合适的复制器,用v3.3.14.1、v3.3.15.0和v3.3.15.3进行了测试。当数组大小为零(只有1D)时,无论给定什么函数,调用都会使程序崩溃。对于零大小的1D数组,似乎根本没有签入Call。</p><pre class=“wiki”>如果array.dimensions==1 AND array[0]=='CallArray。。或WhatsItsNameWhoCares’然后。。。否则。。。</pre><p>--可能是--</p><pre class=“wiki”>如果array.dimensions==1 AND array.size&gt;0 AND数组[0]=='是的。。。那个……”然后。。。否则。。。全球$阵列[1]ConsoleWrite('---with$array of size 1----'&amp;@CRLF)ConsoleWrite(“调用(fun1,$array)---&gt;”@选项卡)$ret=调用(fun1,$array)控制台写入('@err='&amp;@error&amp;',@ext='&amp;@extended&amp;',$ret='&amp;$ret&amp;@CRLF)ConsoleWrite(“调用(UBound,$array)---&gt;”@选项卡)$ret=调用(UBound,$array)ConsoleWrite('@err='&amp;@error&amp全局$数组[0]ConsoleWrite('---with$array of size 0----'&amp;@CRLF)ConsoleWrite(“调用(fun1,$array)---&gt;”@选项卡)$ret=调用(fun1,$array)ConsoleWrite('@err='&amp;@error&ampConsoleWrite(“调用(UBound,$array)---&gt;”@选项卡)$ret=调用(UBound,$array)ConsoleWrite('@err='&amp;@error&amp趣味功能1($v)返回1EndFunc(结束函数)</pre><p>附言:哦,是的,它可能会更长一些,但无论如何都很抱歉。</p> 门票 匿名的 2020年7月11日星期六01:56:18 GMT https://www.autoitscript.com/trac/autoit/ticket/3165#注释:6 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:6 <p>第页:deer jchd18(对不起,我不知道你的灵性动物,所以deer必须这样做),如果在后墙上方以任何方式听起来都是个性化的,请知道这完全是无意的,这个问题毕竟看起来是一个很容易被忽略的小疏忽。但是,看,我们在的时间…还是天气?。。好吧,你知道,这需要一些代价。你还好吧,就我从潜伏中所能看出的,这也许是无关紧要的,但仍然如此。祝你有美好的一天/一个月/一个千禧年,还有食物。这很重要!:</p> 门票 jchd18型 2020年7月23日星期四07:28:07 GMT 状态,版本已更改;已删除分辨率 https://www.autoitscript.com/trac/autoit/ticket/3165#评论:7 https://www.autoitscript.com/trac/autoit/ticket/3165#评论:7 <ul><li>状态从关闭改为重新打开</em></li><li>版本</strong>从<em>3.3.14.2</em>更改为<em>3.3.15.3</em></li><li><strong>分辨率</strong><em>修复了已删除的</em></li></ul> 门票 Jpm公司 2020年9月3日星期四18:22:25 GMT 状态变化;所有者集合 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:8 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:8 <ul><li>所有者设置为<em>Jpm</em></li><li><strong>状态</strong>从重新打开改为分配</em></li></ul><p>你好,已将修复发送给Jon</p> 门票 乔恩 2021年6月11日星期五12:24:48 GMT 所有者,状态已更改;解决方案,里程碑集 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:9 https://www.autoitscript.com/trac/autoit/ticket/3165#注释:9 <ul><li>所有者从Jpm改为Jon</em></li><li>状态从<em>分配</em>更改为<em>关闭</em></li><li><strong>分辨率</strong>设置为<em>固定</em></li><li>里程碑设置为<em>3.3.15.4</em></li></ul><p>修订版修复了版本3.3.15.4中的<a class=“missing changeset”title=“No permission to view changeset 12556 on(default)”>[12556]</a></p> 门票