Здравствуйте, 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
Не знаю
Здравствуйте, 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 >>