Подскажите как в VARIANT запихнуть массив double
От: sergey sivolovsky  
Дата: 24.05.04 07:41
Оценка:
Если можно то пример
Re: Подскажите как в VARIANT запихнуть массив double
От: HAN-BRATAN Украина http://bookkeeper.com.ua
Дата: 24.05.04 07:45
Оценка:
Здравствуйте, sergey sivolovsky, Вы писали:

SS>Если можно то пример


Если это касается Delphi то:

v := VarArrayCreate([0, Length(MyArray)], varVariant);
for i := 0 to Length(MyArray) do
begin
v[i] := MyArray[i];
end;


Чтото типа такого...
Re[2]: Подскажите как в VARIANT запихнуть массив double
От: SeVa  
Дата: 24.05.04 07:49
Оценка:
Здравствуйте, HAN-BRATAN, Вы писали:

HB>Если это касается Delphi то:


HB> v := VarArrayCreate([0, Length(MyArray)], varVariant);

HB> for i := 0 to Length(MyArray) do
HB> begin
HB> v[i] := MyArray[i];
HB> end;


HB>Чтото типа такого...


А если под Visual Studio 6.0
Re[3]: Подскажите как в VARIANT запихнуть массив double
От: HAN-BRATAN Украина http://bookkeeper.com.ua
Дата: 24.05.04 08:07
Оценка:
Здравствуйте, SeVa, Вы писали:

SV>Здравствуйте, HAN-BRATAN, Вы писали:


HB>>Если это касается Delphi то:


HB>> v := VarArrayCreate([0, Length(MyArray)], varVariant);

HB>> for i := 0 to Length(MyArray) do
HB>> begin
HB>> v[i] := MyArray[i];
HB>> end;


HB>>Чтото типа такого...


SV>А если под Visual Studio 6.0


Не знаю
Re: Подскажите как в VARIANT запихнуть массив double
От: degor Россия  
Дата: 24.05.04 09:20
Оценка:
Здравствуйте, sergey sivolovsky, Вы писали:

SS>Если можно то пример


HRESULT pack(VARIANT* pVariant, float pArgs[], long lCount)
{
    SAFEARRAY* pArray = ::SafeArrayCreateVector(VT_VARIANT, 0, lCount);  

    HRESULT hr = S_OK;
    VARIANT var;
    ::VariantInit(&var);
    var.vt = VT_R4;
    for (long i = 0; i < lCount; i++)
    {
     var.fltVal = pArgs[i];
     hr = ::SafeArrayPutElement(pArray, &i, &var);
     if (FAILED(hr))
     {
      ::SafeArrayDestroy(pArray);
      return hr;
     }
    }
    ::VariantInit(pVariant);
    pVariant->vt = VT_ARRAY | VT_VARIANT;
    pVariant->parray = pArray;
    return hr;
}


Замени float -> double, fltVal -> dblVal и VT_R4 -> VT_R8.
... << RSDN@Home 1.1.3 stable >>
Re: Подскажите как в VARIANT запихнуть массив double
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 24.05.04 09:29
Оценка:
Здравствуйте, sergey sivolovsky, Вы писали:

SS>Если можно то пример


http://www.rsdn.ru/article/com/varsafearr.xml
Автор(ы):
Дата: 13.10.2002
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.