Я создаю приложение Cordova для всех основных операционных систем (iOS, macOS, Android и Windows).
Я написал собственный плагин (WinRT) в C ++ / CLI для вызова некоторых собственных функций, этот плагин использует делегаты для асинхронной выдачи результатов.
Я также написал тестовое приложение на C #, которое позволяет мне легко тестировать код C ++ / CLI без необходимости компиляции всего проекта Cordova.
Я могу связываться с делегатом C ++ / CLI без каких-либо проблем в C #, но я не могу сделать это в Javascript.
C # Way (работает как шарм):
myCppClass.log += (string logString) =>
{
Debug.WriteLine(logString);
};
Путь Javascript (не работает вообще):
myCppClass.addEventListener("log", function (msg) {
console.log(msg);
});
Я получил путь Javascript от: https://msdn.microsoft.com/en-us/library/hh779077.aspx
Кто-нибудь знает, как связать с C ++ / CLI делегатов в Javascript?
Спасибо
Посмотрите еще раз на https://msdn.microsoft.com/en-us/library/hh779077.aspx#Anchor_4 образец.
Вы пробовали таким образом?
var instance = new MyCppClass();
instance.addEventListener("log", function (e) {
console.log(e.msg);
});
Других решений пока нет …