Я пытаюсь использовать функцию ниже, чтобы отобразить другую функцию, которая будет вызываться при поступлении данных.функция C ++ создает новый поток, в котором будет вызываться моя функция.это работает в течение нескольких секунд, но затем я получаю ошибку: (я включил «включить отладку неуправляемого кода, чтобы увидеть эту ошибку») Unhandled exception at 0x7725158e in threadTest.exe: 0xC0000005: Access violation.
Если я удаляю IntPtr frameData
из делегированной функции всеработает нормально, поэтому я подозреваю, что я должен что-то сделать с объявлением класса делегата, чтобы этого не происходило.
C # код:
public delegate void HandlerFunction(IntPtr frameData);
[DllImport("Cortex_SDK.dll")]
public extern static int Cortex_SetDataHandlerFunc(HandlerFunction function);
-----
public class myClass
{
static HandlerFunction myFunction = new HandlerFunction(threadFunction);
public myClass()
{
Cortex.Cortex_SetDataHandlerFunc(myFunction);
}
private static void threadFunction(IntPtr FrameData)
{
}
}