编译运行时,后弹出图8-6所示的对话框:
图8-6 调试会话的可执行文件对话框
要求你选择或输入使用此DLL的应用程序之可执行文件的名称或路径。这是因为DLL虽然包含了可运行函数的二进制代码,但是它并不是独立的应用程序,不能单独运行。因此,我们必须编写使用DLL的客户程序。
8.2.4添加客户程序项目为了演示扩展DLL的应用,我们在原解决方案ExtDll中,添加一个客户程序项目ExtClient。具体做法是,打开新建项目对话框,选中“Visual C ”之“MFC”的“MFC应用程序”模板,键入项目名ExtClient。注意,需选在对话框底部的“解决方案”下拉式列表中选中“添入解决方案”表项,参见图8-7。
图8-6 新建客户程序项目的对话框
按“确定”钮进入“MFC应用程序向导”对话框,在“应用程序类型”页,选中“基于对话框”单选钮,按“完成”添加项目。
此时,ExtDll解决方案包含两个项目:DLL项目ExtDll和客户程序项目ExtClient,生成的文件目录结构为:
ExtDll ←解决方案目录
Debug ←解决方案的调试目录
Release ←解决方案的发行目录
ExtDll ←DLL项目目录
Debug ←DLL的调试目录
Release ←DLL的发行目录
res ←DLL的资源目录
ExtClient ←客户程序项目目录
Debug ←客户程序的调试目录
Release ←客户程序的发行目录
res ←客户程序的资源目录
8.2.5 设置依赖项(个人看还要添加引用ExtDll)为了使客户程序可以调用DLL,需要将它们关联起来。最简单的办法是设置DLL项目为客户项目的依赖项。具体做法是,在项目管理区中选中客户项目名“ExtClient”,选中菜单项“项目\项目依赖项”,在弹出的“项目依赖项”对话框中,选中“依赖栏”中的“ExtDll”复选框,参见图8-7。
图8-7 设置ExtClient项目依赖项的对话框
8.2.6编写客户程序代码1.编辑对话框资源
添加表示操作数的2个静态文本框和2个文本编辑框(ID值分别为IDC_DATA1和IDC_DATA2)、5个表示四则运算和取模运算的按钮(ID值分别为IDC_ADD、IDC_SUB、IDC_MUL、IDC_DIV和IDC_MOD)、表示计算结果的1个静态文本框和1个文本编辑框(ID值为IDC_RESULT),删除原来“确定”按钮,将原来的“取消”按钮的“Caption”属性值改为“退出”,参见图8-8。