Собственная ошибка обратного вызова аддона Node.js - указанная процедура не найдена
Я пишу собственный аддон Node.js. Все работает денди за исключением использования обратных вызовов. У меня есть метод в DLL, который требует регистрации обратного вызова функции C++ - он берет функцию, а затем вызывает ее, когда получает новые данные, что достаточно просто. То, что я хотел бы сделать, находится в моем файле.cc, передать локальный метод через, и когда этот метод вызван, вызвать обратный вызов JavaScript. Вызов обратного вызова JavaScript сам по себе, сохранение обратного вызова и его последующий вызов работает нормально.
в моем addon.cc у меня есть метод, который ничего не делает, кроме вызова сохраненного обратного вызова:
static int __stdcall ReadCallback(RESULT* pResult){
const unsigned argc = 1;
v8::Local<v8::Value> argv[argc] = { Nan::New("bah").ToLocalChecked() };
Nan::MakeCallback(Nan::GetCurrentContext()->Global(), callback, argc, argv);
return 0;
}
У меня есть метод открытого узла, который можно вызвать:
void RunCallback(const Nan::FunctionCallbackInfo<v8::Value>& info) {
PipsLibrary::Functions::RegisterReadCallback(ReadCallback);
v8::Local<v8::Function> cb = info[0].As<v8::Function>();
callback = cb;
}
Все мои другие методы узла, обращающиеся к внешнему C++ .DLL, работают, просто передача этой функции в качестве аргумента из.cc выдает ошибку при запуске: "Uncaught Error: указанная процедура не найдена".
Не уверен, в чем проблема, или я могу указать метод в файле.cc для передачи в C++ в качестве обратного вызова.