Вниз
Скачать: CL | DM;

Уничтожение объекта   Найти похожие ветки 

← →
Nucer   (2008-08-24 13:33) [0]

Правильно ли в данном случае будут уничтожены объекты?
TGameObjectType=(gtRobot,gtSupply);

TGameObject = class(TObject)    
...
gType:TGameObjectType;
...
constructor Create(gType:TGameObjectType);
end;

TRobot = class(TGameObject)
...
end;

TSupply = class(TGameObject)
...
end;

var
m:array of TGameObject;
begin
SetLength(m,2);
m[0]:=TRobot.Create;
m[1]:=TSupply.Create;
...
for i:=low(m) to high(m) do m[i].Free;
end;


Или обязательно делать вот так:
for i:=low(m) to high(m) do case m[i].gType of
gtRobot:(m[i] as TRobot).Free;
gtSupply:(m[i] as TSupply).Free;
end;


Помогите разобраться.
И еще вопрос, возможно ли определить подкласс объекта без введения дополнительной переменной gType?


← →
{RASkov} ©   (2008-08-24 13:37) [1]

> for i:=low(m) to high(m) do m[i].Free;

Правильно.


> И еще вопрос, возможно ли определить подкласс объекта без
> введения дополнительной переменной gType?

См ClassName, ClassType у TObject....


← →
{RASkov} ©   (2008-08-24 13:40) [2]

> Или обязательно делать вот так:
> for i:=low(m) to high(m) do case m[i].gType of
> gtRobot:(m[i] as TRobot).Free;
> gtSupply:(m[i] as TSupply).Free;
> end;

Это вообще бред....)

gType:TGameObjectType; в TGameObject скорее НЕ нужен чем нужен.... Или тогда потомки не нужны, хотя тут мало инфы, чтоб судить об этом...


← →
Nucer   (2008-08-24 13:43) [3]

Спасибо за ответы.

>gType:TGameObjectType; в TGameObject скорее НЕ нужен чем нужен....
>Или тогда потомки не нужны, хотя тут мало инфы, чтоб судить об этом...
Просто я не знал про ClassName и ClassType, поэтому пришлось ввести TGameObjectType.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
11-1193735383
tigra
2007-10-30 12:09
2008.10.05
kolindy


2-1219999591
aidyn
2008-08-29 12:46
2008.10.05
работа с 20-значными числами


15-1218713820
cyborg
2008-08-14 15:37
2008.10.05
Алгоритм Ахо-Карасик


15-1218912590
palva
2008-08-16 22:49
2008.10.05
Опять затмение


2-1219719263
Strungout
2008-08-26 06:54
2008.10.05
Как "вшить" файл в программу?




   Наверх