unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
StaticArray = Array[0..1000] of Double;
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
DArray: Array of StaticArray;
Length : Integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Length:=5;
Setlength(DArray, Length);
end;
end.
当我尝试使用Setlength()来定义2DArray的长度时,它不会给我提供任何错误或任何内容。Delphi使用由静态数组定义的2d数组
我期望结果是一个具有1000列和长度行数的数组。 然而,结果只有1001列的1行。
任何想法为什么?
我需要数组来定义这种方式,但我坚持如何设置它的长度。
*编辑列数,0..1000加起来最多1001列。
* Edit2修复了一些代码。
* EDIT3取得了较好的例子
StaticArray具有1001个元素,而不是1000,FWIW。是的,2DArray是2D,1001 *长度。你没有显示足够的代码来诊断你的问题。我们需要一个[mcve]。 –
在德尔福柏林工作正常,除了David提到的额外元素。执行长度为(MyArray)和长度(MyArray [10])的WriteLn的10行控制台应用程序显示它们都存在并具有适当的值。 –
为什么不先发布真实代码?以上不编译。 'Length'没有在任何地方声明或分配,并且'StaticArray'的声明也是错误的。 –