Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ссылки(2)


Страницы:   1 2

Женя ©   (2011-02-11 21:55:00) 

Удалено модератором
Примечание: Восстановление закрытой ветки


Token   (2011-02-11 22:59:00) [21]

У Фаронова хорошо было "фактические" и "формальные" переменные.


Женя   (2011-02-11 22:57:00) [22]

ShowMessage((Copy^).y[0].Name);  

- не помогло
я уже пробывал и просто переменную класса передовать)))
я уверен что просто гдето налажал
(Delphi 7 - сам разоименовавает ссылки на класс (дуже если это ссылка на ссылку на сулку класса (правда в С++ такого нету)))


Token   (2011-02-11 22:54:00) [23]


> Игорь Шевченко ©   (11.02.11 22:48) [9]

Хорошо, где определение "ссылки" и "указателя"?


Игорь Шевченко   (2011-02-11 22:48:00) [24]


> Потому для ся решил, что ссылка в стек записывается как
> адрес памяти определенного размера, а указатель в стек пихается
> как адрес памяти неопределенного размера.


"Другое  открытие. Отчего зимою день короткий, а ночь длинная, а летом наоборот? День зимою оттого короткий, что подобно всем прочим предметам видимым  и невидимым от холода сжимается и оттого, что солнце  рано заходит, а ночь от возжения  светильников и фонарей расширяется, ибо согревается."

http://lib.ru/LITRA/CHEHOW/r_letter.txt


Token   (2011-02-11 22:40:00) [25]

Потому для ся решил, что ссылка в стек записывается как адрес памяти определенного размера, а указатель в стек пихается как адрес памяти неопределенного размера.


Token   (2011-02-11 22:33:00) [26]

Для мя ссылки, указатели и разница между ними самая большая прблема )


И. Павел   (2011-02-11 22:24:00) [27]


> есть  ссылка на переменную класса
> нужно передать ее в функцию

Идентификатор объекта - это уже сама по себе ссылочная переменая. А у вас получается ссылка на ссылку. Тогда, наверное, нужно один раз ее разыменовать: func(a^).

Или в самой функции:

Copy(...
begin
 ShowMessage((Copy^).y[0].Name);  


Token   (2011-02-11 22:21:00) [28]

Переменная класса - уже есть укзатель на область памяти. А вот ссылка... Если тебе надо создать экземпляр класса внутри функции, то передавай как ссылку (через var), если с ним надо работать, то "крышечки" убери и передавай как есть.  Тебя этот ответ устроит? )))


Женя   (2011-02-11 22:15:00) [29]

есть  ссылка на переменную класса
нужно передать ее в функцию


Token   (2011-02-11 22:06:00) [30]

А можно словами объяснить задачу?


Женя   (2011-02-11 21:58:00) [31]

type sparametrs = ^parametrs


Женя   (2011-02-11 21:57:00) [32]

*
procedure parametr.Copy( Copy: sparametr);
begin
ShowMessage(Copy.y[0].Name);
end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо