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

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

Приведение типов [D7, XP]


webpauk ©   (2010-01-19 14:37:00) 

Могую ли я в конструкцию TStringList.AddObject('Text', fObj) как-то запихнуть fObj=Pointer(Point(x, y))?


Демо   (2010-01-19 17:45:00) [1]


> webpauk ©   (19.01.10 14:37) 
> Могую ли я в конструкцию TStringList.AddObject('Text', fObj)
> как-то запихнуть fObj=Pointer(Point(x, y))?


TPoint - обычная структура, поэтому после небольших изменений в описании и методах работы с ним можно. Почему нет?

PPoint=^TPoint
var
 pp: PPoint;
begin
 New(pp);
 StringList.AddObject('Text', pp);
//Работаем

//Здесь освобождаем память:

 Dispose(PPoint(StringList.Data[i]));


Jeer   (2010-01-19 15:31:00) [2]


> AddObject('Text', fObj)


Сюда можно "запихнуть" любое 32-х разрядное число.
Чем оно будет являться - решать тебе.
Это может быть указатель, это может быть композитная структура, например 16-ти разрядные координаты, это может быть число в плавающем формате и т.п.


oxffff   (2010-01-19 14:59:00) [3]


> webpauk ©   (19.01.10 14:37)  
> Могую ли я в конструкцию TStringList.AddObject('Text', fObj)
> как-то запихнуть fObj=Pointer(Point(x, y))?


Не понятно, что ты хочешь запихнуть указатель или значение.
В любом случае можно. Используй аналог boxing из .NET с детерминированным освобождением.


Юрий Зотов   (2010-01-19 14:55:00) [4]

Но если использовать PointToSmallPoint, то может и получиться.


webpauk   (2010-01-19 14:46:00) [5]

спсб


Игорь Шевченко   (2010-01-19 14:45:00) [6]

не можешь


Наверх

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