Форум: "Начинающим";
Текущий архив: 2013.12.08;
Скачать: [xml.tar.bz2];
ВнизСписок объектов с интерфейсами. Найти похожие ветки
← →
Token (2013-02-21 16:42) [0]Создается список обектов, по ходу дела интерфейсы этих объектов раздаются дин. библиотекам.
При очистке списка, надоли уничтожать объекты в нем? Или при выдаче дин. библиотеке интерфейса нового объекта старый объект будет уничтожен автоматически?
← →
Игорь Шевченко © (2013-02-21 16:47) [1]код в студию
← →
Token (2013-02-21 16:53) [2]
IDataStreamIntf=interface(IUnknown)
procedure AddValue(DT: TDateTime; DataType: TValueType; Error: TErrorType;
DataCount: integer; Values: PByteArray);stdcall;
end;
IDataStreamsIntf=interface(IUnknown)
function GetStream(const DevID, Param: OleStr): IUMTDataStreamIntf;stdcall;
end;
fDataStreams.Clear;
for c := 0 to Assembly.Count-1 do
with dtmData do
if dtsToolModels.Locate(fnDevID,Assembly[c].DevID,[]) then
begin
while not dtsToolParams.Eof do
begin
fDataStreams.AddStream(Assembly[c].DevID,dtsToolParamsParam.Value);
dtsToolParams.Next;
end;
Assembly[c].Intf.SetStreams(fDataStreams);
end;
← →
Token (2013-02-21 17:02) [3]В списке Assembly могут оказаться как новые, так и старые, у которых уже есть ссылка на интерфейсы потоков данных из предыдущего списка.
← →
Cobalt © (2013-02-25 15:02) [4]>>при выдаче дин. библиотеке интерфейса нового объекта старый объект будет уничтожен автоматически?
а это смотря как устроена работа с этими интерфейсами.
автоматически удаляются только интерфейсы, если на них нет больше ссылок.
А вот где удалять классы - это целиком твоя головная боль.
Где захочешь - там и освобождай, но не забывай про последствия.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.12.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.002 c