Главная страница
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.053 c
3-1280925588
Unknown_user
2010-08-04 16:39
2013.03.22
Отношения между таблицами БД


15-1345573664
Jimmy
2012-08-21 22:27
2013.03.22
Редактор для создания математических чертежей


10-1178194054
Егоров А.Н.
2007-05-03 16:07
2013.03.22
Копирование формата ячейки в Excel из Delphi


8-1225660857
Anatol_rus
2008-11-03 00:20
2013.03.22
Те кто работал с DirectShow9 и полноэкранным режимом помогите


15-1332236757
webpauk
2012-03-20 13:45
2013.03.22
WebBrowser DocumentComplete