########################################################################################################
怎么把一个已经可以运行的Demo.exe(随便取个名字)转换为Demo.dll后在另外一个TestDemo.exe中调用?
转换方法如下:
你先在项目属性-链接器-输入-模块定义那加入一个.def文件,然后,配制属性-常规-配制类型那改为动态库dll。配制属性c/c++预处理-预处理定义那加入_AFXEXP 
###########################后面的步骤我没有看懂(主要是对dll不熟悉),也没有尝试过####################
(这个加法你在向导生成的文件中可以看到,自己更改规则与扩展时不一样)这样,就可以生成一个规则dll了。扩展的话,就要把里面的全局app去掉,加入dllmain(在关于dll介绍的书中都有的,这项是必须的)。这里可以看一下向导生成的那种格式。还有,你要是想导出mfc类的话,用扩展。否则用规则。这样就OK了。
#########################################################################################################
怎么在新的exe中显示转换过来的dll中的对话框?(下面是我的尝试)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//在Demo.dll的工程中写一个全局函数如下
void ShowDlg(void){
  CDialog1 dlg;
  dlg.DoModal();
}
//在Demo.def中添加
EXPORTS
     ShowDlg
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//在TestDemo.exe的工程中引用静态库
#pragma comment(lib, "../lib/Demo")
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//在TestDemo.exe的工程调用该dll的地方添加如下代码HINSTANCE hExe=GetModuleHandle(NULL);//获取exe模块句柄
HINSTANCE hDll=GetModuleHandle("1.dll");//获取dll模块句柄
AfxSetResourceHandle(hDll); //切换为dll
ShowDlg();//调用dll中的ShowDlg()函数
AfxSetResourceHandle(hExe); //还原为可执行程序+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++代码结束
编译运行,会出错,有人知道怎么解决吗????
求解决方法