Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Упаковка массива рекордов в олевариант   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.067 c
2-1334303031
rikitiki2012
2012-04-13 11:43
2013.03.22
Realtex


2-1348395531
Писатель
2012-09-23 14:18
2013.03.22
Преобразование String в PwideChar


2-1331964246
hursand
2012-03-17 10:04
2013.03.22
Pdf format


2-1329389832
AV
2012-02-16 14:57
2013.03.22
Про сервисы. Подскажите с событиями.


2-1332101162
ADMHayate
2012-03-19 00:06
2013.03.22
Помогите новичку прогу доработать!!!