Создание объектов в 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), конечно