情况: 旧的基于MFC的C ++ gui应用程序,在将大量数据源显示到内部数据结构之前,将其显示给用户。
问题: 我需要.NET中的数据结构,用XML做。
解决方案:
这是疯了吗?是否可以从GUI MFC应用程序编译DLL库而无需更改它?这是一个可怕的想法吗?我有什么选择?我很丢失了。
答案 0 :(得分:1)
我将致力于在MFC应用程序中提取特定的业务逻辑代码并将这些内容粘贴到DLL中,而不是试图完成整个应用程序。
你可能会在这里作出一个错误的假设,它将花费你更少的努力将MFC应用程序包装为DLL(基本上删除所有GUI代码,添加DLL主程序并修改构建过程以生成DLL),而不是孤立业务逻辑代码并将其放入新的DLL项目的努力。
要将GUI作为DLL包装起来,您需要非常好地理解业务逻辑代码的依赖关系以及GUI如何使用它,因此您可以将这些东西剪掉。
答案 1 :(得分:0)
您可以稍微更改MFC源吗?为什么不添加一些命令行参数以使应用程序将XML吐出到std输出而不是启动GUI?
在CWinApp::InitInstance
中,您可以inheriting CCommandLineInfo
访问命令行参数。
从.Net客户端启动流程并捕获输出。