Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
1-1094474696
pavelgr
2004-09-06 16:44
2004.09.19
переход курсора


14-1093852286
European
2004-08-30 11:51
2004.09.19
Norton Antivirus 2004


14-1094045892
WondeRu
2004-09-01 17:38
2004.09.19
Лезвия


14-1093455685
lipskiy
2004-08-25 21:41
2004.09.19
Нужен программист на JavaScript, Perl, PHP или что-то подобное.


4-1091637867
AD_infiniTUM
2004-08-04 20:44
2004.09.19
Как определить ширину текста