Delphi在编写插件窗口的时候,无法对数组进行长度赋值。

问一个很神奇的问题,我在使用Delphi语言制作了一款有关于窗口部分的插件。

但是在我测试这个插件的时候,发生了点小意外。

我使用了open语句,从一个窗体中打开了另一个窗体。但是,当我退出了这个窗体时,再返回原来的窗体时,按下按钮则会发生猛烈报错。

据估测,原因可能是按钮数组没有正常赋值。在关闭后一个窗口时,前一个窗口的所有控件数组元素被清空以至于被重新赋值。我记得我的所有元素都用了一个数组进行包围,不仅如此,我甚至还用了部分二维数组来设置每个窗口的控件。

报错原因是:只要我的前一个窗口里,出现了多个相同的控件【例如button、label、memo、image等】,在正常对第一个元素操作完毕后,再想遍历执行到下一个控件时,就会出现严重的报错。【前提:打开了一个附属窗口,简称在其中一个插件窗口中用open打开另一个插件窗口,再关闭掉另一个插件窗口时,就会产生报错。】

哎呀呀,我也不知道怎么说了,我给大家看看源码就知道了吧。

这就是我的源码,可能里面含有令人高血压的代码,不过总归来说可以正常运行,但是唯独上面的报错未解决了。

exe二进制文件我目前还处于未发布状态,因此暂时还不能发布,请求各位能看懂我写的源码【不知道有没有人看得懂捏】,然后教教我怎么解决上面的报错问题。

该源码调用方式为:“直接调用CreatePluginForm,然后第一个参数填入文件名【也可以填别的,作为窗口的Caption】,第二个参数填入插件所属的json文件。”

哦哦,好吧,该问题已解决。
我尝试使用了System.Generics.Collections.TList对二维数组进行重置,现在已经完美能够进行窗口嵌套了,不会再有bug了!
但也感谢各位了!