gpt4 book ai didi

Delphi:对类型 "array of TObject"的参数进行 SetLength()

转载 作者:行者123 更新时间:2023-12-03 14:56:03 25 4
gpt4 key购买 nike

我正在尝试调整作为参数传递的某个类的数组的大小,例如

procedure Resize(MyArray: Array of TObject);
begin
SetLength(MyArray, 100);
end;

但是,这会引发错误“E2008 不兼容类型”。你真的不能这样做吗(我见过谣言,但没有官方文档)还是我做错了什么?

最佳答案

您没有明确定义类型。所以编译器在匹配它们时存在问题。如果您定义类型如下:

type
TObjectArray = array of TObject;

毫无疑问,(感谢 Mghie)您应该使用 var 参数,因为调整可能会导致指针发生变化。

procedure Resize(var MyArray: TObjectArray);
begin
SetLength(MyArray, 100);
end;

关于Delphi:对类型 "array of TObject"的参数进行 SetLength(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com