New Plugin gets 'This ANSI plugin is not compatible with your Unicode Notepad++'
-
I’ve created a sample Plugin derived from NppPluginTemplate. Its compiled with Embarcadero’s C++ Builder as a 32 Bit application and with UNICODE. The function isUnicode() is build and exported from the DLL. But if i start Npp i get the messagebox:
This ANSI plugin is not compatible with your Unicode Notepad++
NppPluginDemo.dll is not compatible with the current version of Notepad++
Npp Debug Info is:
Notepad++ v7.5.4 (32-bit)
Build time : Jan 1 2018 - 01:47:45
Path : C:\Program Files (x86)\Notepad++\notepad++.exe
Admin mode : OFF
Local Conf mode : OFF
OS : Windows 10 (64-bit)
Plugins : ComparePlugin.dll DSpellCheck.dll mimeTools.dll NppConverter.dll NppExec.dll NppExport.dll NppFTP.dll NPPJSONViewer.dll NppTextFX.dll PluginManager.dll PyNPP.dll PythonScript.dll SourceCookifier.dll -
-
Yes, it returns with
return TRUE;
as in the sample.
Cheers
Erwin
-
I don’t know Embarcadero’s C++ but how does it build the dll
with stdcall or cdecl convention?Cheers
Claudia -
Claudia,
the entry is defined as
extern “C” __declspec(dllexport) BOOL isUnicode()
but as i checked the dll, its exported with an underscore.
I’ll check the linker options to remove the underscores.
Thanks
Erwin
-
I have it now. I compiled the plugin template without any changes. The only thing was, the C++Builder has a project option ‘C++ Compiler/Output/Create Underscore for Symbolnames’, which is checked by default. It must be unchecked.
Conclusion, Npp Plugins can also developed with Embarcadero’s C++ Builder.
Erwin