[QUOTE]Дарья Лунченко написал:
Когда убрала все, что связано с функцией mapViewUserObject функция mapViewMapObject начала работать корректно. [/QUOTE]
Это говорит о том, что ошибка где-то до вызова mapViewUserObject. Возможно, как раз в подготовке параметров для ее вызова.
Пока по Вашему коду особых нареканий нет.
Кроме этого:
[CODE]ObjPoints = new DOUBLEPOINT[sizeof(DOUBLEPOINT)*nPoint];[/CODE]
Вы таким образом выделяете в 16 раз больше памяти, чем Вам надо. Это неправильно, но влиять ни на что не должно.
Должно быть так:
[CODE]DOUBLEPOINT *ObjPoints = new DOUBLEPOINT[nPoint];[/CODE]
- ObjPoints должна быть объявлена как типизированный указатель DOUBLEPOINT*, чтобы Вы могли работать с элементами массива по индексу точки (как это у Вас реализовано - &ObjPoints[p]).
Когда убрала все, что связано с функцией mapViewUserObject функция mapViewMapObject начала работать корректно. [/QUOTE]
Это говорит о том, что ошибка где-то до вызова mapViewUserObject. Возможно, как раз в подготовке параметров для ее вызова.
Пока по Вашему коду особых нареканий нет.
Кроме этого:
[CODE]ObjPoints = new DOUBLEPOINT[sizeof(DOUBLEPOINT)*nPoint];[/CODE]
Вы таким образом выделяете в 16 раз больше памяти, чем Вам надо. Это неправильно, но влиять ни на что не должно.
Должно быть так:
[CODE]DOUBLEPOINT *ObjPoints = new DOUBLEPOINT[nPoint];[/CODE]
- ObjPoints должна быть объявлена как типизированный указатель DOUBLEPOINT*, чтобы Вы могли работать с элементами массива по индексу точки (как это у Вас реализовано - &ObjPoints[p]).