Аргументы javascript портятся при передаче в функцию плагина NPAPI - PullRequest
1 голос
/ 03 июля 2011

Я использую простой пример NPAPI из https://github.com/mikma/npsimple.

Когда я пытаюсь передать аргументы из JavaScript в функцию вызова NPAPI, параметры, полученные функцией NPAPI, являются мусором, хотя количество аргументов прошло правильно. Ниже приведено определение функции, в которой я пытаюсь распечатать массив «args» после преобразования их в тип char *:

invoke(NPObject* obj, NPIdentifier methodName, const NPVariant *args, uint32_t argCount, NPVariant *result)

Я что-то здесь упускаю?

1 Ответ

2 голосов
/ 04 июля 2011

Трудно сказать, что вы пытаетесь сделать, основываясь на том, что вы нам дали.В частности, по запросу smorgan, нам нужно знать, как вы пытаетесь преобразовать массив args в char *.

Вы знаете, как работает NPVariant ?Если это строка, тип NPVariant будет NPVariantType_String, и вам нужно будет использовать как член UTF8Characters структуры NPString (которая, в свою очередь, является частью объединения NPVariant), так и член UTF8Length, так как строкаможет быть или не быть нулевым завершением.

Кроме того, имейте в виду, что в зависимости от того, что вы вставляете, может или не может быть допустимым сделать ваш NPVariant символом *.Если это поможет, отлично;если это не так, пожалуйста, опубликуйте содержимое функции, в которой вы пытаетесь обрабатывать ввод, а также конкретные вызовы javascript, которые вы делаете.Вы не дали нам достаточно для работы, чтобы дать вам больше, чем догадки о том, какие проблемы у вас могут возникнуть.

...