C++ dll에서 callback 함수를 요구하고, callback이 발생하면 C#의 함수를 실행해야 합니다
중간에 CLR로 작성했는데 오류가 없어서 잘된 줄 알았는데 C#쪽 콜백 함수 호출이 안되네요.
각각 따로는 확인했는데요
C++ 단에서 콜백이 호출되는건 확인했고요.
CLR에서 C# 함수를 실행했을때 실행되는 것도 확인했습니다.
CLR에서 C++과 C#을 어떤게 연결해야 하는건지를 잘 모르겠습니다.
////// C++/CLR
public delegate void DELE_ERROR(int32_t errorCode, String^ errorText);
public delegate void DELE_SUCCESS(int32_t id, String^ keyword, int32_t length);
…
CTest::Init(DELE_ERROR^ deleError, DELE_SUCCESS^ deleSuccess)
{
// void (*onError) (int32_t errorCode, char* errorText);
pVaListener->onError = deleError; // 요부분을 어떻게 써줘야 할까요?
// void (*onSuccess) (int32_t id, char* keyword, int32_t length);
pVaListener->onSuccess = deleSuccess; // 요부분을 어떻게 써줘야 할까요?
}
////// C#
test.Init(OnError, OnSuccess);
...
public static void OnError(Int32 errCode, String errText)
{
Console.WriteLine($"!!!!!!!!!!!!!!!!!!! OnError {errText}");
}
public static void OnSuccess(Int32 id, String keyword, Int32 length)
{
Console.WriteLine($"############## OnSuccess {keyword}, {length}");
}
어느 부분이 잘못 됐을까요?