Форум: "Основная";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
ВнизTList и объекты -экземпляры классов Найти похожие ветки
← →
ghrup (2004-08-31 22:49) [0]Вопрос про TList.
function Add(Item: Pointer): Integer;
В помощи написано что вункция Add добавляет указатели на об
но как быть с объектами -экземплярами классов?
Вроде бы как в Delphi все объекты указатели, так ведь они же не явные указатели,
как например:
P:^TSomeRecord;
sr:TSomeRecord;
ls:TList;
sr.a:=3;
sr.b:=7;
P:=@sr;
ls:=TList.Create;
ls.Add(P);
ls.Add(TSomeClass.Create);//Такое использование Tlist правильно, или нет?
ls[1].free;
Ещё подобный вопрос.
Как правильно определять процедуру?
procedure proc(var ls:TStringList);
либо
procedure proc(ls:TStringList);
Есть ли разницы между ними?
В обоих случаях копирования из вызывающей ф-ии в вызываемую ф-ию не происходит,
так есть ли разница при вызове?
← →
афвуд (2004-08-31 22:53) [1]ls:=TList.Create;
ls.Add(P);
ls.Add(TSomeClass.Create);
TSomeClass(ls[1]).Free;
Так правильней.
> procedure proc(var ls:TStringList);
> либо
> procedure proc(ls:TStringList);
> Есть ли разницы между ними?
> В обоих случаях копирования из вызывающей ф-ии в вызываемую
> ф-ию не происходит,
> так есть ли разница при вызове?
Есть. В первой процедуре можно будет поменять TStringList.
← →
wicked © (2004-09-01 11:03) [2]
> procedure proc(var ls:TStringList);
> либо
> procedure proc(ls:TStringList);
разница есть, но не такая...
в первом случае в процедуру передается ссылка на ссылку на обьект (ссылка на переменную, которая является ссылкой на обьект) и в процедуре можно менять как сам обьект, так и ссылку на него...
во втором - передается ссылка на обьект TStringList, который (обьект) можно там менять...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c