![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 26.03.2013
Сообщений: 1
|
![]()
Доброго времени суток)
Встала задачка, прочитать Dll, написанную на с++. В ней делегат описан следующим образом: Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
В C++ нет делегатов. Это раз.
char* обычно подразумевает строку, завершаемую нулевым символом - и, в любом случае, типу C++ char соответствует тип C# byte. Тип const int в качестве аргумента функции - бессмыслица. Но скорее всего, Ваша проблема вызвана тем, что вызвавшая и вызывающая стороны "не договорились" в смысле соглашений о вызове - PInvoke, насколько помню, "по умолчанию" считает все функции stdcall, а C++ - cdecl. Вообще, есть у меня немалые сомнения по поводу работоспособности схемы, в которой в неуправляемый код передаётся указатель на функцию управляемого кода. В частности, если в функции создаются новые объекты, сборщик мусора может не разобраться в ситуации (ведь из корневого множества до них будет не дотянуться). |
![]() |
![]() |