Re[4]: Проблема с получением SAFEARRAY в Delphi
От: DenisM  
Дата: 15.10.02 05:04
Оценка:
Здравствуйте Алекс, Вы писали:


А>А если под Inspact'ом все посмотреть?

А>Приведи код как ты его заполняешь.
заполняется в COM-объекте, написанном на VC
А>Че такое TVariantArg() — у меня 5-ый дельфа.
TVariantArg — это и есть стандартный VARIANT, описан в Ole2.pas
А>Вместо
А>
А>count := va.parray.rgsabound[ 0 ].cElements;
А>

А>лучше пользоваться SafeArrayGetUBound(),SafeArrayGetLBound
так в структуре tagVARIANT хранится информация о количестве элементов массива

А>И вообще я подумал, что раз уж у тебя в одной структуре умещаются и дата, и строки, число — возьми стандартный VARIANT и не мучься!

в структуре хранится имя (тип BSTR), тип (тип long) и значение (тип VARIANT)

Описанный способ работает в клиентах, написанных на VC 6 и BCBuilder 6, а в Delphi не работает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.