![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
передача динамического массива в 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], ..)