|
Как прочесть строку char *, указатель the_IntPtr на которую в памяти известен
|
|||
---|---|---|---|
#18+
Надо по сути сделать на VB6 вот это Код: vbnet 1.
Пытаюсь так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Выдает иероглифы По сути думаю что ErrStr -это массив байтов, и мне надо эти байты копировать до нулевого, а потом каждому байту делать chr() Нет примера правильного кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2012, 23:50 |
|
Как прочесть строку char *, указатель the_IntPtr на которую в памяти известен
|
|||
---|---|---|---|
#18+
Так вроде работает. Сойдет? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2012, 00:19 |
|
Как прочесть строку char *, указатель the_IntPtr на которую в памяти известен
|
|||
---|---|---|---|
#18+
Поправочку надо внести: Бывает что const char * m_alertingType; For other indications this field is NULL. */ Тогда ptr=0 и CopyMemory рухнет. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2012, 02:11 |
|
Как прочесть строку char *, указатель the_IntPtr на которую в памяти известен
|
|||
---|---|---|---|
#18+
Дмитрий77, где сие: >Надо по сути сделать на VB6 вот это >str= Runtime.InteropServices.Marshal.PtrToStringAnsi(the_IntPtr) например Вы применяете? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2012, 05:31 |
|
Как прочесть строку char *, указатель the_IntPtr на которую в памяти известен
|
|||
---|---|---|---|
#18+
катастрофа, где сие: например Вы применяете? API-ф-ция возвращает указатель на структруру, структура содержит указатели на String Надо получить String: Я применяю к Opal API. VB6 Код: 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.
VB.NET Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2012, 06:01 |
|
Как прочесть строку char *, указатель the_IntPtr на которую в памяти известен
|
|||
---|---|---|---|
#18+
Правильно все-таки так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Предыдущий вариант сразу копирует 256 байт, если длина меньше и после '\0' возникает случайная проблема чтения памяти, то CopyMemory вылетит случайным образом (наблюдал это иногда). С последним вариантом из за этого не вылетает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2012, 19:51 |
|
|
start [/forum/topic.php?fid=60&msg=37915351&tid=2157511]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 291ms |
total: | 436ms |
0 / 0 |