Я сделал плагин C ++ DLL, статически связанный с MFC для определенной программы (у меня нет ее исходного кода) с использованием VS2008.
После интеграции моего плагина в программное обеспечение все работало нормально, за исключением строкового ресурса, который соответствует имени моего плагина и который я объявил в своем файле ресурсов следующим образом:
STRINGTABLE
LANGUAGE 9, SUBLANG_DEFAULT
BEGIN
IDS_PRC_TEST "TEST"END
тогда я определил это в заголовке «resource.h»:
#define IDS_PRC_TEST 210
Моя проблема в том, что в списке плагинов в программном обеспечении я получаю только первый
Буква этой строки ресурса «T» из «TEST».
Я проверил скомпилированный файл ресурсов (.res) и все в порядке
Я также проверил созданную мной dll, используя программу ‘Resedit’, и все ресурсы в порядке.
(«ТЕСТ» полностью в dll)
Затем я сравнил ресурсы моего плагина с ресурсами другого плагина
(доступно с программным обеспечением), для которого название появилось полностью. Не было никакой разницы
между объявлениями ресурса.
Поэтому я не понимаю, почему мой строковый ресурс не загружен полностью, если один из другого плагина.
Пожалуйста, не стесняйтесь задавать мне вопросы, чтобы уточнить мое объяснение, если оно не было достаточно ясным.
Заранее благодарю за ответы.
Благодаря комментариям на вопрос я это исправил. Это была действительно проблема Unicode / Multibyte. Так что все, что мне нужно было сделать, это изменить кодировку проекта в Project-> Properties-> Configuration properties-> General.
Других решений пока нет …