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

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

передача динамического массива в CreatePolygonRgn [D7, XP]


night_light ©   (2009-09-22 14:53:00) 

в функцию
function CreatePolygonRgn (const Points; Count, FillMode: Integer): HRGN;
не передаётся динамический массив - полигон создаётся, но явно по не тем точкам, результат его отрисовки на экране не видно, передача точно такого же массива потоянной длины прекрасно обрабатывается функцией. Как передать динамический массив?


Anatoly Podgoretsky   (2009-09-22 16:08:00) [1]

> MBo  (22.09.2009 15:15:03)  [3]

Не совсем так, в функцию передается адрес массива (переменной), вот адрес переменной и выдается.
Это примерно так @var, а надо var^ - близайший аналог var[0] адрес первого элемента, или @var[0] или pointer(var)


night_light   (2009-09-22 15:30:00) [2]

Спасибо! Понятно!


MBo   (2009-09-22 15:15:00) [3]

>почему именно так?
для параметров с var и const компилятор сам берет адрес указанной переменной. Динамический массив  - по сути указатель на данные, так что указатель на указатель получается при неверном использовании.


night_light   (2009-09-22 15:10:00) [4]

Спасибо ОГРОМНОЕ!
Работает. Теперь бы ещё понять, почему именно так?


Сергей М.   (2009-09-22 15:03:00) [5]

CreatePolygonRgn(DynArrayOfTPoint [0], ..)


Наверх

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