powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не передаются параметры из управляемого кода в неуправляемый
2 сообщений из 2, страница 1 из 1
Не передаются параметры из управляемого кода в неуправляемый
    #38949076
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неуправляемый код загружает шарповую сборку и вызывает CallFunct передавая указатель на одну из своих неуправляемых функций.
Потом из шарпового кода вызывается эта функция и передается текстовая строка, вызов приходит но текстовая строка пустая.
Почему так происходит?


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Winapi)]
         public delegate string NativeDelegate(string par);
         public static NativeDelegate function;

          unsafe public string CallFunct(int adress)
         {
             function = (NativeDelegate)Marshal.GetDelegateForFunctionPointer((IntPtr)adress, typeof(NativeDelegate));
             string tst = function("hello");
             return tst + "_callFunct" ;
         }
...
Рейтинг: 0 / 0
Не передаются параметры из управляемого кода в неуправляемый
    #38949108
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам разобрался, нужно вот так делегат описать

Код: c#
1.
public delegate string NativeDelegate( [MarshalAs(UnmanagedType.AnsiBStr)] string par);
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не передаются параметры из управляемого кода в неуправляемый
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]