我已经完成了一个SDI工程,突然通知要把它改成DLL,请问改怎么办?从哪入口进行调用? 我已经完成了一个SDI工程,突然通知要把它改成DLL,请问改怎么办?从哪入口进行调用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个......如果你使用MFC编写的SDI工程那么还是建立一个MFC动态扩展库吧如果是Win32方式的建立Win32动态扩展库不要兼容MFC,ATL如果用的是WTL建立的SDI工程则使用ATL建立COM组件。动态库的设计需要一个宿主程序调用你提供的接口。例如:当宿主程序调用了你提供的接口函数InitDll那么就是执行了你DLL内的InitDll这个函数不知道你明白了没。 还需要考虑到你的DLL是否支持多程序调用。例如你的DLL内有一个共享的内存。有5个程序调用了你这个DLL那么你这个DLL就应该在最后一个程序释放了你这个DLL才能释放掉这个共享的内存 呵呵 ms你们老大做事情比较没计划;另外写过,没有shortcut (VS2005)项目属性里找到配置属性、常规、项目默认值、配置类型,修改(应用程序.exe)为(动态库.dll)就可以了。 建议新建一个MFC DLL的工程,然后对照着配置改,将代码移过去,不然一些预定义的符号、运行时库等等如果不对的话后面调用时问题会很多。 增加一个导出函数,调用theApp.Run(),另外关闭窗口的时候根据需要再做些处理。 DLL中用dllexport等来导出函数,这个导出的函数中,显示SDI等功能...增加一个Release的导出函数,调用这个函数的时候,关闭SDI 建立个DLL工程,定义好导出的接口 请问如何调用windows信使功能?谢谢 在基于CFormView的多文档界面中如何弹出提示保存文件的消息框? 如何清除上次绘图在picture里画的线。。。。。 请教:关于CListView和CListCtrl的区别和使用问题(急!) 很简单的问题,为什么我的vc里边没有GetModuleFileNameEx()这个函数 UNICODE的困惑 高分求一SQL语句(ORACLE) 如何在程序中调用NOTEPAD并显示指定的文件。 SHBrowseForFolder如何改变弹出窗口的大小 线程死循环,如何退出该线程 关于进度条实现的问题 std::streambuf怎么用?
如果是Win32方式的建立Win32动态扩展库不要兼容MFC,ATL
如果用的是WTL建立的SDI工程则使用ATL建立COM组件。动态库的设计需要一个宿主程序调用你提供的接口。
例如:当宿主程序调用了你提供的接口函数InitDll那么就是执行了你DLL内的InitDll这个函数
不知道你明白了没。
例如你的DLL内有一个共享的内存。
有5个程序调用了你这个DLL
那么你这个DLL就应该在最后一个程序释放了你这个DLL才能释放掉这个共享的内存
项目属性里找到配置属性、常规、项目默认值、配置类型,修改(应用程序.exe)为(动态库.dll)就可以了。
增加一个Release的导出函数,调用这个函数的时候,关闭SDI