Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизRuntime error - array of string как атрибут класса Найти похожие ветки
← →
Tassadar (2010-05-08 19:35) [0]Всем привет!
Очень давно не садился за Делфи, а вот сейчас появилась необходимость написать одну программку, и столкнулся с такой проблемой.
Есть какой-то класс, одним из атрибутов которого является 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?
Заранее спасибо.
← →
Германн © (2010-05-08 19:45) [1]
> Я чувствую, что где-то здесь я дурак, но не могу понять,
> где именно.
Вот тут:
> Test.Create;
>
← →
Tassadar (2010-05-08 19:47) [2]Точно, Test := TTest.Create.
Спасибо :-)
← →
sniknik © (2010-05-08 19:49) [3]> почему возникает ошибка
это чудо... вполне серьезно, результат подобного "создания" непредсказуем, т.е. ошибки могло и не быть, но это все равно было бы неправильным, и в конце концов "рвануло бы" только с большими последствиями.
т.что кто то тебя хранит...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.071 c