Antonariy писал(а):- Код: Выделить всё
Dim Save() as Byte
Dim d as VERTEX
ReDim Save(Len(d) * UBound(vertexArray))
CopyMemory Save(0), vertexArray(0), UBound(Save)
Не совсем ясно, а для чего массив Save нужен? Раз уж на то пошло, то почему нельзя сразу vertexArray и записывать.
Antonariy писал(а):В базе создается табица с полем типа OLE (Access)/Image (MSSQL)
Или с полем типа BLOB в SQLite
Antonariy писал(а):Желательно типы объявить в tlb и пользоваться ею и в вб и в си, чтобы гарантированно не было проблем.
Это, простите, как?
Хакер писал(а):Проблем быть не должно, если только вдруг не появятся какие-нибудь проблемы с выравниванием. Но они легко лечатся добавлением Reserved-полей.
Что это за поля такие? Как их добавить? Каким образом они спасают от проблем с выравниванием?
Хакер писал(а):Только вот смысл такого хранения остаётся непоятным. Почему бы тогда не использовать просто файл?
Именного его я и использую, камрад,
файл базы данных
Antonariy писал(а):Кстати, зачем объявлять NORMAL в дополнение к COORDS? Можно же сделать так:
- Код: Выделить всё
Private Type VERTEX
vert As COORDS
norm As COORDS
End Type
Так точно. Можно сделать так. Ещё в принципе можно сделать так:
- Код: Выделить всё
Private Type VERTEX
x As Double
y As Double
z As Double
i As Double
j As Double
k As Double
End Type
Насколько я понимаю никакой принципиальной разницы между всеми тремя вариантами нет.
Я ещё один момент прояснить хотел. Собственно это (хранение массива структур) нужно в первую очередь для того, что бы как можно быстрее прочитать потом записанные данные. Т.е. посылаю запрос к БД, она мне возвращает содержимое i-ой ячейки и это содержимое уже готово к "употреблению". Т.е. хочу избавиться от лишнего парсинга, от заполнения, уже вобщем-то, заполненной структуры и т.п. Т.е. взять блок данных, а он уже полностью готов, остается только в массив его снова загнать, что бы совсем, как перед записью выглядел.
Я вообще на правильном пути???