Использование устаревших ресурсов DLL в C # - PullRequest
0 голосов
/ 13 января 2010

Я использую устаревшую неуправляемую библиотеку c ++ dll в новом приложении c #. Мне удалось загрузить ресурсы из DLL, используя жестко закодированные номера ресурсов.

Есть ли способ сделать это, используя идентификаторы ресурсов в C #?

Старый код C ++ все еще поддерживается, что означает, что идентификаторы / значения ресурсов могут измениться. Это может сделать номера ресурсов в коде c # неверными / недействительными.

Лучшее, что я могу придумать, - это вырезать / вставить файл resource.h в класс c #, а затем выполнить поиск / замену вручную, чтобы отформатировать его в класс c #. Это должно быть сделано после каждого изменения в файле ресурсов. Есть ли лучший способ?

Ответы [ 2 ]

0 голосов
/ 13 января 2010

Если ресурс dll не поддерживается вами, я бы подумал написать скрипт / инструмент для выполнения того, что вы сказали, но в автоматическом режиме (насколько это возможно).

0 голосов
/ 13 января 2010

Я предполагаю, что вы не спрашиваете, как загрузить эти ресурсы, но как синхронизировать идентификационные номера?

В таком случае я бы предложил иметь 2 заголовочных файла, в которых определены идентификаторы ресурсов. Используйте resource.h так же, как вы делаете сейчас, для вещей, которые вы не возражаете против изменения мастеров, но представьте второй файл заголовка (например, appresource.h), который вы редактируете вручную. Таким образом, вы можете быть уверены, что идентификаторы в этом файле никогда не изменятся. Тогда единственный раз, когда вам нужно изменить приложение C #, это когда вы добавляете новые ресурсы, которые хотите использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...