Variant Serialization and Deserialization
Запись от bedvit размещена 25.01.2024 в 17:08
Показов 1571
Комментарии 3
Метки vb
Cериализация и десериализация типа данных Variant, используемый в COM, VB, VBA, C++, Python и других поддерживающих СОМ языков Реализация в СОМ. Реализация для XLL как функция COM.DLL Часть библиотеки BedvitCOM Поддерживаются базовые типы и массивы. Объекты не сериализуются. В некоторой степени - аналог CComVariant::ReadFromStream и CComVariant::WriteToStream Функции: VARIANT byteArrayOutRetval = VariantSerialization(VARIANT variantIn) VARIANT variantOut= VariantDeserialization(VARIANT byteArrayOutRetval) Параметры функции: 1. variantIn/variantOut- входящий/получаемый VARIANT - значение или массив значений 2. byteArrayOutRetval - массив байтов Особенности: 1. Cериализация в байтовый массив 2. Размер массива не может превышать 2^32 элементов (около 4Гбайт). Это ограничение самого COM - массива. В С++ (в другом контейнере) сохранял файлы боле 4,5 Гб. 3. Реализован похожий механизм (shared string table), как и в Excel, для оптимизации размера одинаковых строк. Пример использования:
|
Метки vb
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
-
Запись от AlexProgramm размещена 28.01.2024 в 20:49 -
Насколько я понял, в Java не проблема использовать СОМ.
https://www.codeguru.com/java/... tegration/Запись от bedvit размещена 29.01.2024 в 08:57 -
Запись от AlexProgramm размещена 29.01.2024 в 23:36