STRINGZ_TO_NPVARIANT на самом деле немного опасно;когда вы помещаете строку в объект NPVariant, вы передаете эту память браузеру.Однако, если вы не выделяете эту память с помощью NPN_MemAlloc, вещи могут взорваться, когда он попытается освободить эту память (возможно, источник вашего сбоя).
Посмотрите на то, что на самом деле делает STRINGZ_TO_NPVARIANT, и не используйте егопока ты не поймешь, как это работает;до тех пор вы можете попытаться выполнить шаги вручную, чтобы у вас было лучшее понимание.Выделите память, используя NPN_MemAlloc, а затем вставьте в нее строку.Бьюсь об заклад, это решает вашу проблему;после того, как вы это выясните, создайте свои собственные встроенные функции или еще что-нибудь, чтобы снова очистить код.