1.本人在VC6.0环境下已经使用MFC APP向导 开发完成一个可执行的WINDOWS应用程序,现在希望利用现有的代码和资源将该应用程序的主窗体封装在一个MFC常规DLL中,以便在其他应用程序中调用。请各位高手多多指教!不胜感谢。比如:
已经使用MFC向导生成一个基于对话诓的的应用程序,现在需要将现有的对话框代码及资源封装在一个MFC常规DLL中,使之可以在另外的应用程序中调用。
本人试了几次,DLL编译成功,但在对话框实例化时返回的句柄总是失败OX0000),但如果直接在DLL新建一个对话框资源却能被其他应用程序正常调用。2.如何将一个已经可以运行的VC应用程序编译成一个 静态连接库,以供其他应用程序使用?
已经使用MFC向导生成一个基于对话诓的的应用程序,现在需要将现有的对话框代码及资源封装在一个MFC常规DLL中,使之可以在另外的应用程序中调用。
本人试了几次,DLL编译成功,但在对话框实例化时返回的句柄总是失败OX0000),但如果直接在DLL新建一个对话框资源却能被其他应用程序正常调用。2.如何将一个已经可以运行的VC应用程序编译成一个 静态连接库,以供其他应用程序使用?
CMyDlg* MyDlg;
int MdllShow()
{
MyDlg = new CMyDlg;
MyDlg->Create("IDD_DIALOG1"); //窗口资源ID
MyDlg->ShowWindow(SW_SHOWNORMAL);
return 1;
}
int MdllClose()
{
delete MyDlg;
return 1;
}2.将项目改成生成静态连接库就行,在VC.NET下转换很容易。
把CWinApp继承的类去掉,其他应用程序肯定用不着这个类。
楼上是指把exe工程做成dll后,exe中的CWinApp继承的类(就是应用程序类)就用不上了,不过,依我看,不去掉也没关系,如要去掉,需注意资源头文件在其他类中的包含问题.
CWinApp类不去掉也可以。