加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 通过引用传递给proc的数组执行SetLength

发布时间:2020-12-15 10:05:34 所属栏目:大数据 来源:网络整理
导读:当然,即使我可以做到这一点 var testarray : array of string;setlength(testarray,5); 但是如果我想得到聪明的程序,我通过这样的引用传递数组,我无法做到这一点! procedure DoStuffWithArray(var passedarray : array of string);begin setlength(passedar
当然,即使我可以做到这一点
var
  testarray : array of string;

setlength(testarray,5);

但是如果我想得到聪明的程序,我通过这样的引用传递数组,我无法做到这一点!

procedure DoStuffWithArray(var passedarray : array of string);
begin
  setlength(passedarray,5);
end;

编译器在我的proc中的单行代码上说“不兼容的类型”.

我可以在数组上做其他的东西,就像set set元素值,如果我在调用proc之前做一个setlength,但是我不能在我的proc中做setlength,这是我想要做的.

任何帮助非常感谢,谢谢所有.

解决方法

作为参数的数组类型需要有一个名称.所以:
type TStringArray = array of string;
procedure DoStuffWithArray(var passedarray: TStringArray);

然后它会工作.

但是,如果您需要一组动态大小的字符串,您可能会发现一个TStringList更容易使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读