ЛП
Леночка Панова

Создание объектов в Delphi

Описан класс TPlanet:
TPlanet = class (TObject)
private
name: string;
public
x,y,m,r,px,py,vx,vy,ax,ay: real;
u,v,up,vp:integer;
constructor Create();
end;

Описан массив объектов этого класса:
var
solarsystem: array [0..8] of TPlanet;

При создании формы объекты инициализируются:
begin
for i := 0 to 8 do begin
case i of
0:begin
solarsystem.Create;
solarsystem.name:='Sun';
solarsystem.m:=333000.0;
solarsystem.x:=0.0;
solarsystem.y:=0.0;
end;
1:begin
solarsystem.Create;
solarsystem.name:='Mercury';
solarsystem.r:=0.39;
solarsystem.m:=0.06;
solarsystem.x:=solarsystem.r*10;
solarsystem.y:=0.0;
end;
2:begin
solarsystem.Create;
solarsystem.name:='Venus';
solarsystem.r:=0.72;
solarsystem.m:=0.82;
solarsystem.x:=solarsystem.r*10;
solarsystem.y:=0.0;
end;
//ну и так далее

Компилятор никаких ошибок не выдает, но при запуске появляется ошибка access violation. При нажатии на Break, студия заботливо показывает на функцию в System'е:
function _AfterConstruction(const Instance: TObject): TObject;
begin
try
Instance.AfterConstruction; //если быть совсем точным - конкретно на эту строку
Result := Instance;
{$IFDEF AUTOREFCOUNT}
AtomicDecrement(Instance.FRefCount);
{$ENDIF}
except
_BeforeDestruction(Instance, 1);
raise;
end;
end;

Не могу понять в чем ошибка, пожалуйста, помогите разобраться.

При инициализации везде solarsystem(i), конечно

ВШ
Виктория Шамрова

private
name: string;

solarsystem.name:='Sun';

Вот и ответ.
Зачем ты пытаешься обратиться к закрытому полю класса напрямую? Либо перемещай его в Паблик, либо создавай метод для его заполнения.

И вообще, прочти что такое инкапсуляция и с чем её едят, чтобы в дальнейшем не делать таких глупых ошибок.

Похожие вопросы
Создание логина и пароля на языке Delphi.
Продскажыте прогу на русском для создания 3d объектов плиз
В каких случаях может понадобиться создание объектов базового класса?
Посоветуйте какой 3D объект создать для курсовой "Создание 3D объекта с использованием html5 и WebGL"(3 курс)
delphi создание программы.
Здравствуйте! Подскажите, пожалуйста как прописывать пользователей в программе DElphi в коде созданой БД?
Самоучитель: Создание БД в Delphi 7. Желательно сразу к ссылке на скачивание!
Delphi. delphi программирование сессия
помогите с Delphi 7 пожалуйста. как в Delphi 7 переименовывать объекты (ну например Button,Edit)?
Delphi Процедура создания иерархического древа папок (каталогов) . Функция просмотра вложений.