SafeArray помогите!!!
От: Sunny_xms  
Дата: 02.07.01 11:45
Оценка:
народ! помогите!

надо в safearray положить VARIANT!

есть COM объект у которого есть метод [id(5), helpstring("method SetArrayValue")] HRESULT SetArrayValue([in] VARIANT Value, [in] VARIANT Args, [in, out] VARIANT *RetVal);

Value — значение
Args — куда (индексы по измереням)
RetVal — сам массив

фишка в следующем: на возврате из метода происходит исключение Invalid procedure call or argument или Method .... of ..... Failed...

причём что самое ваще странное: у safearray есть поле fFeatures, которое указывает что и как лежит в массиве... так вот значение, которое я там вижу в отладчике — отсутствует в msdn-е! — тобишь получчается, что так не бывает! хм... (fFeatures=0x00a)


помогите, плз...

и ещё.. присылайте свои ответы, плз на _alexi_@rambler.ru



всем спасибо!! :)
Re: SafeArray помогите!!!
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.07.01 14:13
Оценка:
1. Out of topic.
2. На такие вопросы без исходника ответить очень сложно.

PS
Создайте маленький пример. Создайте навую тему в COM/DCOM/ActiveX где дайте ссылку на этот пример. И объясните зачем вы испльзуете Variant-ы вместо нармальных типов?

PPS
Если есть проблемы с тем кде разместить пример мыльте сюда tsc@optim.ru брошу его на свою FTP-иху (и заоодно гляну сам).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: SafeArray помогите!!!
От: OlegO Россия http://www.mediachase.ru
Дата: 04.07.01 05:37
Оценка:
Полностью согласен с VladD2 без внутринности ф-и тяжеловато,
учитывая что я запихивал VARIANT в SafeArray и все было нормално

VD>И объясните зачем вы испльзуете Variant-ы вместо нармальных типов?


использование типа VARIANT просто необходимо, для того что бы
люди могли нормально работать с COM из VB и VB Script.
С уважением, OlegO.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.