Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, <Аноним>, Вы писали:
А>>Есть динамическая библиотека — не Com. Для типов в .VB .Net приложении созданы соответствующие А>>managed структуры
А>><StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> Public Structure AAAA А>> 'name А>> <MarshalAs(UnmanagedType.ByValArray, SizeConst:=33)> Public name() As Char А>> 'company name А>> <MarshalAs(UnmanagedType.ByValArray, SizeConst:=33)> Public company() As Char А>> 'notional open date А>>End Structure
VD>Вложенные строки лучше нужно описывать как StringBuildet.
Мне казалось что через StringBuilder нельзя указать фиксированный размер буфера.. то есть
чтобы структура была фиксированного размера. При маршалинге — возникает ошибка, потому что
не известен этот присловутый размер массива.
А>>Такой код не работает. Так как не получается привести указатель на С-массив к managed массиву.. А>>в этом случае получается только привести указатель на первый элемент массива..
VD>Приведи описание структуры на С/С++.
На С++ это выглядело бы так (просто реально библиотека на Delphi)
struct aaaa {
char name[33];
char company[33];
};