Главная страница
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.057 c
14-1093608857
1008
2004-08-27 16:14
2004.09.19
Как определить, что предпросмотр в QReport е завершён?


14-1093000180
Soft
2004-08-20 15:09
2004.09.19
Задачка по ОТО(для тех кто знает физику).


1-1094113972
ZemA
2004-09-02 12:32
2004.09.19
События происходят дважды. Это нормально?


6-1089395762
rOOse
2004-07-09 21:56
2004.09.19
HTML формы


14-1093769352
kaif
2004-08-29 12:49
2004.09.19
Хорошее применение для метода LIFO в складском учете