|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
У меня в байтовом массиве уложена вот такая структура Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Как теперь из байтового масссива восстановить UDT? Всякие трюки с CopyMemory не прокатывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 18:20 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Eolt, а каким образом структура "уложена"? Если записать структуру в файл (по сути тоже байтовый массив), то потом можно прочитать с полным восстановлением, смотри в Locals: Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 20:12 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Укладывает процедура Put в файл. Читать его надо из байтового массива и парсить в структуру. Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 21:09 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Тогда как вариант (чтобы не заморачиваться тем, как бейсик записывает в файл массив и Variant/String) - записать байтовый массив во временный файл, считать из файла в структуру, удалить временный файл :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 02:35 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Казанский, такой вариант меня не устраивает ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 09:03 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Eolt, Используй пайпы и пиши в них без промежуточного файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 13:56 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
заменить на: Код: vbnet 1.
тогда будет всё ок ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 14:04 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
ATM-TURBO 2Eolt, Используй пайпы и пиши в них без промежуточного файла. Пайпы через интернет не работают ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 14:24 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
EoltATM-TURBO 2Eolt, Используй пайпы и пиши в них без промежуточного файла. Пайпы через интернет не работают Чего? http://www.vbforums.com/showthread.php?807205-VB6-pipe-based-UDT-serializing-deserializing-InMemory ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 14:25 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Konst_One Код: vbnet 1.
заменить на: Код: vbnet 1.
тогда будет всё ок можно и на Byte заменить, тоже все будет работать, только к моей задачи это отношения не имеет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 14:36 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Eolt, я записал структуру в файл, потом перетащил в Excel и проанализировал. В принципе, можно распарсить. Самая большая сложность, конечно, с Variant. Здесь внутри Variant простые типы, а ведь может оказаться и массив (а если это массив Variant, то внутри какого-нибудь элемента тоже может быть массив и т.д.). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 00:12 |
|
как восстановить UDT из байтового массива
|
|||
---|---|---|---|
#18+
Чем вариант с пайпами не устраивает? Тот же Get, Put только в память. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 11:32 |
|
|
start [/forum/topic.php?fid=60&fpage=25&tid=2155655]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 157ms |
0 / 0 |