SPROXY генерирует неправильный код
От: SaloS http://salos.narod.ru/
Дата: 28.01.05 13:14
Оценка:
Проблема передать массив нулевой длины в web-service.

Если передавать массив нулевой длины (параметр размер массива = 0), то если укзатель на массив NULL, то сразу в методе сгенеренном SPROXY есть проверка, чтобы все [in] параметры не были NULL, и сразу возвращается E_POINTER если NULL. Если передавать указатель не NULL, то в atlsoap.h проверяется количество элементов в массиве и если не 0, то следует чудненький код:

// array size should only be zero if array is NULL
// did you forget to set the array size?
ATLASSERT( FALSE );
return E_FAIL;

Собственно вопрос, может к этому делу существуют какие-либо ардейты либо другой генератор, который делает то же самое.
WTL Helper и WTL Wizards помощники для WTL, скачать отсюда http://salos.narod.ru
Re: SPROXY генерирует неправильный код
От: SkyDance Земля  
Дата: 15.02.05 18:57
Оценка:
Вообще-то, это проблема COM-взаимодействия. СОМ ни при каких условиях не примет массив, который передан как NULL, даже если его size_is равен нулю.
"SaloS" <18664@users.rsdn.ru> wrote in message news:1009818@news.rsdn.ru...
From: SaloS

Проблема передать массив нулевой длины в web-service.

Если передавать массив нулевой длины (параметр размер массива = 0), то если укзатель на массив NULL, то сразу в методе сгенеренном SPROXY есть проверка, чтобы все [in] параметры не были NULL, и сразу возвращается E_POINTER если NULL. Если передавать указатель не NULL, то в atlsoap.h проверяется количество элементов в массиве и если не 0, то следует чудненький код:

// array size should only be zero if array is NULL
// did you forget to set the array size?
ATLASSERT( FALSE );
return E_FAIL;

Собственно вопрос, может к этому делу существуют какие-либо ардейты либо другой генератор, который делает то же самое.
SPROXY генерирует неправильный код Оценить
Posted via RSDN NNTP Server 1.9
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.