QVariant VARIANT и SAFEARRAY(double)
От: celsium  
Дата: 22.04.11 13:34
Оценка:
Доброго дня всем.
Есть описание метода COM объекта из IDL файла:
VARIANT XXXMetod(VARIANT XXXParameter);

Есть описание сгенерированное с помощью cppdump:
inline QVariant XXX::XXXMetod(const QVariant& XXXParameter)

{

QVariant qax_result;

void *_a[] = {(void*)&qax_result, (void*)&XXXParameter};

qt_metacall(QMetaObject::InvokeMetaMethod, 9, _a);

return qax_result;

}

и параметр и возвращаемое значение есть массив чисел с типом double (VT_R8) — из слов разработчика.
Проблема в том что результат QVariant — всегда invalid. Были попытки по разному запихнуть массив в QVariant но результата никакого.

По идее вместо VARIANT должен стоять SAFEARRAY(double), но стоит то что стоит.
как засунуть и высунуть массив из QVariant я знаю.
Кто сталкивался — подскажите как получить результат?
Попрошу не направлять в мануалы по Qt людей которые с данной проблемой не сталкивались.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.