Форум: "Основная";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
ВнизФункция как конструктор обекта. Как правильно? Найти похожие ветки
← →
Simeon (2003-09-24 18:31) [0]Мне нужно создавать мой объект класса TMyObject через фабричный метод TMyFactory.BuildMyObject(). Я делаю примерно так:
TMyObject = class
property xxx : integer;
...
end;
TMyFactory = class
function BuildMyObject() : TMyObject;
...
end;
function TMyFactory.BuildMyObject() : TMyObject;
begin
Result := TMyObject.Create;
Result.xxx := 11;
end;
----
TMyController = class
procedure BuildTheObject();
end;
procedure TMyController.BuildTheObject();
var
MyFactory : TMyFactory;
MyObject : TMyObject;
begin
MyFactory := TMyFactory.Create;
MyObject := MyFactory.BuildMyObject();
MyFactory.Free;
end;
Не получиться ли при создании объекта через BuildMyObject() утечки памяти?
← →
Skier (2003-09-24 18:41) [1]
> Не получиться ли при создании объекта через BuildMyObject()
> утечки памяти?
в данном куске кода - получиться
← →
Юрий Федоров (2003-09-24 19:00) [2]Если MyObject в последнем методе потом освобождается (то есть если код приведен в сокращении) - то все правильно
← →
Simeon (2003-09-24 19:04) [3]да, конечно, MyObject.Free забыл дописать :-). Спасибо.
← →
REA (2003-09-24 23:24) [4]А для чего вся эта экзотика? Это с COM как-то связано?
← →
Erik (2003-09-25 13:12) [5]Я бы написал так, на всякий случай
TMyFactory = class
class function BuildMyObject() : TMyObject;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c