I made a C++ DLL plugin statically linked to MFC for a certain program (I don't have its source code) using VS2008.
After integrating my plugin to the software, everything worked fine except for a string resource which corresponds to my plugin's name and which I declared in my resource file as follows :
STRINGTABLE
LANGUAGE 9, SUBLANG_DEFAULT
BEGIN
IDS_PRC_TEST "TEST"
END
then I defined it in the "resource.h" header :
#define IDS_PRC_TEST 210
My problem is that on the plugin list in the software I only get the first letter of this string resource the "T" from "TEST".
I verified the compiled resource file (.res) and it is OK
I've also verified the dll I built ,using the 'Resedit' program, and the resources are all OK ("TEST" is entirely in the dll)
Then I compared the resources of my plugin with the resources of another plugin (available with the software) for which the name appeared entirely. There was no difference between the resource declarations.
So I do not see why my string resource isn't entirely loaded if the one from the other plugin is.
Please feel free to ask me questions to clearify my explanation if it wasn't clear enough.
Thank you in advance for your answers.
Thanks to the comments on the question I got this fixed. It was indeed a Unicode/Multibyte problem. So all I had to do is change the project's encoding in the Project->Properties->Configuration properties->General