Создание общего диалога MFC: обычная DLL или DLL расширения MFC - PullRequest
0 голосов
/ 15 июля 2010

При создании проекта MFC DLL в VC ++ 2005 вы получаете экран «Настройки приложения» с выбором Regular DLL со статической / динамической MFC или DLL расширения MFC.

Нам нужна DLL, котораясодержит несколько общих диалогов, поэтому мы можем использовать их в других проектах, например:

CGetNameDlg *dlg = new CGetNameDlg();
dlg->doModal();
string name = dlg->getName();
delete dlg;

Мы не уверены, требуется ли для этого расширение DLL ... если это специально для добавления новых элементов управления для улучшения MFCсам по себе, или если мы просто выполняем обычный проект DLL, динамически связывающийся с MFC, как если бы это был проект EXE.

Ответы [ 2 ]

1 голос
/ 15 июля 2010

Лично я бы создал обычную DLL.Я считаю, что обычная DLL дает гораздо большее разделение кода, чем DLL расширения, с добавленной сложностью использования макроса AFX_MANAGE_STATE () в точке входа каждого вызова в DLL.

И еслиВы хорошо проектируете свой код (например, передаете только / из нативных объектов в / из DLL), вы можете использовать ту же DLL в простом приложении win32 / C # app / VB без особых проблем.

1 голос
/ 15 июля 2010

Вы можете сделать это как обычную DLL, а не как расширение MFC, и я бы выбрал этот вариант.

...