Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
23.06.2017, 03:21
|
|||
---|---|---|---|
|
|||
Передача структуры из dll c++ в с#. |
|||
#18+
Всем привет! есть функция в dll с++ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
в C# пишу Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
unsafe режим включен ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2017, 07:02
|
|||
---|---|---|---|
Передача структуры из dll c++ в с#. |
|||
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2017, 07:09
|
|||
---|---|---|---|
Передача структуры из dll c++ в с#. |
|||
#18+
Ну и нужен пример вызова на С++, иначе не понятно как передавать строку Description. Вероятно стандартный маршалинг здесь не поможет, придётся описать строку как IntPtr и самостоятельно выделять и освобождать под неё память, самостоятельно преобразовывать её в managed string. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2017, 10:10
|
|||
---|---|---|---|
|
|||
Передача структуры из dll c++ в с#. |
|||
#18+
Алексей К, Dll стороннего разработчика, есть только описание выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2017, 10:27
|
|||
---|---|---|---|
Передача структуры из dll c++ в с#. |
|||
#18+
npats2007Алексей К, Dll стороннего разработчика, есть только описание выше.Судя по тому, что метод имеет префикс Get, то данные возвращаются из метода. Кто выделяет память под строку, вызывающий код или вызываемый метод? Как после вызова освобождается память, выделенная под строку, если она находится в динамической памяти? Если подробности неизвестны, то надо пробовать. Класс Marshal должен помочь. зы: Не самый удачный способ организации публичного С++ API. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2017, 10:45
|
|||
---|---|---|---|
|
|||
Передача структуры из dll c++ в с#. |
|||
#18+
Алексей К, Спасибо Алексей, буду с Marshal разбираться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2017, 12:45
|
|||
---|---|---|---|
Передача структуры из dll c++ в с#. |
|||
#18+
Вместо string должен быть StringBuilder: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2017, 12:48
|
|||
---|---|---|---|
Передача структуры из dll c++ в с#. |
|||
#18+
petalvikВместо string должен быть StringBuilder: Код: c# 1.
Строки, используемые в структурах авторСтроки являются допустимыми элементами структур, но буферы StringBuilder недопустимы в структурах ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2017, 16:02
|
|||
---|---|---|---|
|
|||
Передача структуры из dll c++ в с#. |
|||
#18+
petalvik, При StringBuilder Код: c# 1. 2. 3. 4. 5. 6. 7.
Ошибка при вызове: Невозможно упаковать поле "Desc" типа "Test.SUPPORT_DESCRIPTION": Поля структуры или класса не могут иметь тип StringBuilder. Тот же результат обычно достигается при использовании поля String и предварительной инициализации его строкой, длина которой совпадает с длиной соответствующего буфера. Тут функция в структуру значение выводит, а не получает. Еще нюанс ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1399827]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 300ms |
total: | 553ms |
0 / 0 |