Всем привет!
Очень давно не садился за Делфи, а вот сейчас появилась необходимость написать одну программку, и столкнулся с такой проблемой.
Есть какой-то класс, одним из атрибутов которого является array of string. Например, такой:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TTest = class(TObject)
public
arr: array of string;
private
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
Test:TTest;
begin
Test.Create;
end;
end.
При создании объекта Test выдает Runtime error - access violation.
При этом если в описании arr убрать array и оставить просто string, программа работает.
Я чувствую, что где-то здесь я дурак, но не могу понять, где именно. Подскажите, пожалуйста, если найдете минутку, почему возникает ошибка, и как было бы правильно работать с атрибутами класса вида array of string?
Заранее спасибо.