Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача массива с COM-сервера 
:(
    Опции темы
Mike_1981
Дата 5.9.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



Есть такая задача - необходимо передать с COM-сервера массив структур, содержащих инфу о юзерах. Структура такая (idl-файл):
Код

typedef struct tagNetUserStruct
{
    BSTR m_Surname;
    BSTR m_Name;
    BSTR m_Patronymic;
    BSTR m_Group;
    int m_Sex;
    long m_Birth_time;
} NetUserStruct;


Метод, занимающейся собственно пересылкой (idl-файл):
Код

interface IUserManager : IDispatch{
    [id(2), helpstring("method GetAllUsers")] HRESULT GetAllUsers([ in ] long num, [ out, size_is (num) ]  NetUserStruct cur_users[]);

реализация метода в cpp-файле:
Код

 ...
 //здесь идет заполнение массива result
memcpy ( cur_users, result, num * sizeof( NetUserStruct ) );

Здесь в cur_users лежит все, что надо.

На стороне клиента вызываем метод:
Код

NetUserStruct res_us[9];
long num_us = 9;
HRESULT hr = user_man->GetAllUsers( num_us, res_us );


В итоге в res_us оказывается всего один элемент массива, все поля структуры верные. В чем может быть дело?


Это сообщение отредактировал(а) Mike_1981 - 5.9.2007, 14:14
PM MAIL   Вверх
Mike_1981
Дата 6.9.2007, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.8.2007

Репутация: нет
Всего: нет



проблема исчезла после того, как полностью заново пересоздал проект
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0760 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.