[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: массив в SafeArray
respublika
Привет.
Есть массив:
$ma = array(1,0,2);

его нужно передать функции из DLL'ки в виде SAFEARRAY(VT_ARRAY|VT_R8).
Структура SAFEARRAY:

typedef struct tagSAFEARRAY
{
USHORT cDims; // количество измерений массива
USHORT fFeatures; // набор флагов, определяющих атрибуты массива
USHORT cbElements; // размер элементов массива
USHORT cLocks; // счетчик ссылок, указывающий количество блокировок, наложенных на массив
USHORT handle; // не используется
PVOID pvData; // указатель на данные массива
SAFEARRAYBOUND rgsabound[1];
} SAFEARRAY;

typedef struct tagSAFEARRAYBOUND
{
ULONG cElements; // число элементов массива
LONG lLbound; // нижняя граница
} SAFEARRAYBOUND;

Делаю так:
$ma = new VARIANT(array(1, 0, 2) , VT_ARRAY|VT_R8);

Как теперь собрать чтоб это было SAFEARRAY?

Если передавать в таком виде, то

$obj = new COM("CCC.Main");
$obj->SourceSeries = $ma;

НЕ принимает. Подскажите, пожалуйста.
Буду благодарен за любой совет
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.