Форум: "Основная";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизУпаковка массива рекордов в олевариант Найти похожие ветки
← →
harisma © (2011-02-28 12:48) [0]Есть массив рекордов определенной длины. Его надо запаковать в ОлеВариант для дальнейшей передачи в качестве параметра в некий интерфейс, а там его распаковать. Как это сделать?
Спасибо.
← →
Сергей М. © (2011-02-28 12:59) [1]рекорды содежат поля с типами данных с управляемым временем жизни ?
← →
clickmaker © (2011-02-28 13:02) [2]обычный вариантный массив из вариантов
VarArrayCreate etc
← →
harisma © (2011-02-28 13:10) [3]Рекорды содержат три поля. 2 поля - стринги размером 32 символа (string[32]), третье поле - один из элементов сета.
← →
Сергей М. © (2011-02-28 16:57) [4]Тогда можно задать вариантному массиву (см. [2]) нужную размерность, получить прямой доступ к его буферу (VarArrayLock) и разом скопировать в буфер весь массив (CopyMemory)
На принимающей стороне восстановление в том же порядке
← →
harisma © (2011-02-28 17:39) [5]Это уже близко к истине ([4]). А пример кода можно?
← →
_Юрий (2011-02-28 21:01) [6]
> А пример кода можно?
function TStreamHelper.GetAsVariant: Variant;
var
P : Pointer;
begin
Result:=VarArrayCreate([0, Size - 1], VarByte);
P:=VarArrayLock(Result);
try
Position:=0;
ReadBuffer(P^, Size);
finally
VarArrayUnLock(Result);
end;
end;
← →
Amoeba_ (2011-03-01 00:29) [7]
> 2 поля - стринги размером 32 символа (string[32]),
Как-то очень плохо сие согласуется с идеологией COM, если
> запаковать в ОлеВариант для дальнейшей передачи в качестве
> параметра в некий интерфейс
← →
harisma © (2011-03-10 14:13) [8]
> Как-то очень плохо сие согласуется с идеологией COM, если
Чем же оно плохо согласуется? Вроде как раз в таком варианте (строки фиксированной длинны) и должно быть в отличии от динамических строк
← →
Amoeba_ (2011-03-10 17:54) [9]
> harisma © (10.03.11 14:13) [8]
>
>
> > Как-то очень плохо сие согласуется с идеологией COM, если
>
> Чем же оно плохо согласуется? Вроде как раз в таком варианте
> (строки фиксированной длинны) и должно быть в отличии от
> динамических строк
> <
А тем, что строки фиксированной длинны это чисто борландовская фича.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.065 c