cppGhost

Возвращаемое значение-массив

Всех приветствую. Моя многострадальная функция с++ в конце возвращает массив объектов. Делаю это так

int func(void *retValue)
{
   .....
   res = (tag_t*) malloc( vecResult.size() * sizeof(tag_t) );

   for(int i=0; i<vecResult.size(); i++)
         res[i] = vecResult[i];

   USERSERVICE_return_tag_array(res, vecResult.size(), (USERSERVICE_array_t*)retValue);	
}

на стороне java идет такой ее вызов

 Object res =  endItem.getSession().getUserService().call("func", objs);

И мне казалось, что в res теперь должен быть массив объектов. Но там лишь число, равное количеству объектов в массиве. Что я не так делаю? Спасибо)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как регистрируете (USERSERVICE_register_method)?

а точно Object res имеет тип Int?
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всех приветствую. Моя многострадальная функция с++ в конце возвращает массив объектов. Делаю это так

int func(void *retValue)
{
   .....
   res = (tag_t*) malloc( vecResult.size() * sizeof(tag_t) );

   for(int i=0; i<vecResult.size(); i++)
         res[i] = vecResult[i];

   USERSERVICE_return_tag_array(res, vecResult.size(), (USERSERVICE_array_t*)retValue);	
}

на стороне java идет такой ее вызов

 Object res =  endItem.getSession().getUserService().call("func", objs);

И мне казалось, что в res теперь должен быть массив объектов. Но там лишь число, равное количеству объектов в массиве. Что я не так делаю? Спасибо)

 

-------------------------------

 TCComponent[] return_data = (TCComponent[]) userService.call(itk_function, input_args);  

-------------------------------------

int return_data = USERARG_TAG_TYPE + USERARG_ARRAY_TYPE;

-----------------------------------------------------

 ifail = USERSERVICE_return_tag_array(obj_array, n_objs, USERSERVICE_array_t *) return_data);   

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем спасибо. Дело действительно было в 

int return_data = USERARG_TAG_TYPE + USERARG_ARRAY_TYPE;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

  • реклама

  • Реклама

  • Ближайшие события

    Предстоящих событий не найдено
  • Дни рождения сегодня

    1. alex0800
      alex0800
      (64 года)
    2. DarkTown
      DarkTown
      (27 лет)
    3. DEMONOS
      DEMONOS
      (34 года)
    4. fivegoxp
      fivegoxp
      (57 лет)
    5. IgorSamara
      IgorSamara
      (49 лет)
    Просмотреть все