Позвольте мне сначала сказать, что мне не нужна копия файла ресурсов для двух проектов (я видел вопрос об этом).
Использование Windows 7, MS VS 2013, C ++, MFC.
Эти два проекта, на которые я буду ссылаться, являются частью одного и того же решения.
У меня есть диалог, который был создан с файлами rc / h / cpp для него, который работает в одном проекте (проект A). Я хочу иметь возможность открыть этот диалог из подпрограммы в отдельном проекте (проект B). Проект B имеет кнопку с графическим интерфейсом, которую я нажимаю, чтобы открыть диалоговое окно из проекта А.
Я включил ссылку на проект A в свойствах проекта B.
Я включил (#include) путь к файлу rc для проекта A в файл rc для проекта B (который заботится о файле ресурсов, и номера определений для файла ресурсов не перекрываются).
Я включил путь (из проекта A) к классу, который управляет диалогом в проекте B (в файле, который содержит обработчик событий для вызова диалога).
У меня нет ошибок при настройке, просто ничего не происходит. Я создаю диалог и пытаюсь DoModal
на нем, как в любом месте Project A (где он работает), и ничего не происходит, я могу нажать кнопку много раз, и он никогда ничего не вызывает.
Я не могу предоставить какой-либо код по этому вопросу, но я надеюсь, что этого достаточно, чтобы дать мне какую-то подсказку. Я потерян на данный момент. Спасибо.
Без рутины:
#include "DialogIWant.h"
...
void OnPushButtonOnProjectB ()
{
CDialogIWant dialog; // CPP/H/RC in the other project A
dialog.DoModal(); // Nothing comes up
}
Файлы ресурсов могут использовать #inclde
такой же, как и любой другой файл C ++. Расположите ресурс диалога в отдельном файле и включите его в .rc
файлы обоих проектов.
Вам также нужно будет поделиться определениями идентификатора ресурса, которые обычно находятся в resource.h
,
Других решений пока нет …