Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.05;
Скачать: 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 вся ветка

Текущий архив: 2008.10.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
9-1173275349
ElectriC
2007-03-07 16:49
2008.10.05
DirectX движок


15-1218421915
brother
2008-08-11 06:31
2008.10.05
посоветуйте внешний контроллер...


2-1219895591
snake-as
2008-08-28 07:53
2008.10.05
Печать картинок


2-1219739361
max
2008-08-26 12:29
2008.10.05
String literals may have at most 255 elements


2-1219906656
snake-as
2008-08-28 10:57
2008.10.05
Как сделать, чобы при нажатии кнопки на каждом компоненте Edit