В проекте C# я использую делегаты для вызова методов из библиотеки C++, загруженную в процесс.Использую данный код:
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void Generation();
internal static Generation GenerationInvoker;
CreateDelegate < Generation > ("TestExample")
internal T CreateDelegate < T > (string procName) where T: class {
var procAddress = GetProcAddress(procName);
if (procAddress != IntPtr.Zero) {
return (T)(object) Marshal.GetDelegateForFunctionPointer(procAddress, typeof(T));
}
return null;
}
Метод успешно вызывается, но могу ли я вернуть ответ из вызываемого метода?Допустим вернуть числовое значение с "плавающей" запятой (float).
Необходимо всего лишь исправить тип возврата делегата:
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void Generation();
переписать на
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate float Generation();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Необходимо Передать в метод string[], а на выходе получить значение объекта
По этому вопросу было много ответов, только ничего не подходит, поскольку склеивание файла лишает смысла всю программу, и я пишу в файл настройки,...
При попытке отобразить изображение