Строка ресурса в dll не полностью видна после загрузки в программу

Я сделал плагин 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', и все ресурсы в порядке ("TEST" полностью в dll)

  • Затем я сравнил ресурсы моего плагина с ресурсами другого плагина (доступного с программным обеспечением), название которого появилось полностью. Не было никакой разницы между объявлениями ресурса.

Поэтому я не понимаю, почему мой строковый ресурс не загружен полностью, если один из другого плагина.

Пожалуйста, не стесняйтесь задавать мне вопросы, чтобы уточнить мое объяснение, если оно не было достаточно ясным.

Заранее благодарю за ответы.

1 ответ

Решение

Благодаря комментариям на вопрос я это исправил. Это была действительно проблема Unicode/Multibyte. Так что все, что мне нужно было сделать, это изменить кодировку проекта в Project->Properties->Configuration properties->General.

Другие вопросы по тегам