Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизОсвобождение памяти Найти похожие ветки
← →
Frozzen (2004-11-24 18:31) [0]Подскажите как правельно делать, имеется
TCoordPoint = class(TObject)
x, y :integer;
lat, long :real;
r :real;
....
end;
TPoints = object
p : array of TCoordPoint;
Count : Integer;
constructor Create(N : Integer);
destructor Destroy;
...
end;
constructor TPoints.Create(N : Integer);
begin
Count := N;
SetLength(p, N);
end;
destructor TPoints.Destroy;
var i: Integer;
begin
for i := 0 to Count-1 do
p[i].Destroy; // или не так
SetLength(p, 0);
end;
← →
Digitman © (2004-11-24 18:42) [1]for i := 0 to Count-1 do
p[i].Destroy; // это вдан.случае не вызывает сомнений
SetLength(p, 0); //а это. пожалуй, лишнее
непонятно только, почему для сей цели используется не слишком удобный дин.массив, а не специально разработанный для побобных целей класс TObjectlist ..
← →
Плохиш © (2004-11-24 19:05) [2]
> Digitman © (24.11.04 18:42) [1]
> for i := 0 to Count-1 do
> p[i].Destroy; // это вдан.случае не вызывает сомнений
.Free
← →
Frozzen (2004-11-24 19:10) [3]Вот и я про Free думал
← →
Dimaxx © (2004-11-24 22:08) [4]Destroy и Free абсолютно идентичны по функциональности.
← →
ЮЮ © (2004-11-25 03:47) [5]>Destroy и Free абсолютно идентичны по функциональности.
Однако ОСВОБОДИТЬ звучит более гуманно, чем УНИЧТОЖИТЬ :)
← →
begin...end © (2004-11-25 09:12) [6]
> [4] Dimaxx © (24.11.04 22:08)
> Destroy и Free абсолютно идентичны по функциональности.
Но Free всё же безопасней, чем Destroy, за счёт предварительной проверки на NIL.
Странно другое:
> Frozzen (24.11.04 18:31)
> TPoints = object
← →
Bel © (2004-11-25 10:06) [7]И еще странность:
> TCoordPoint = class(TObject)
Может, лучшеrecord
использовать.
А если всё-таки нуженclass
, то тогда где конструкторы элементов массива.
← →
Frozzen (2004-11-25 10:17) [8]Все методы не писал сюда
← →
Bel © (2004-11-25 11:19) [9]Ну тогда ничего криминального. Только добавить в конструкторе:
...
for i := 0 to N - 1 do
p[i] := TCoordPoint.Create;
А лучше воспользоваться > Digitman © (24.11.04 18:42) [1]
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.057 c