我有一个VS2005动态链接库中的MFC程序,单SDI,应用程序名称c2view,文档类c2viewDoc,视图类c2viewView。这是一个 4 组件模型,单文档界面。
动态链接库内部是在export h和export.cpp中定义的函数,作为标准调用(a,b)我确实可以访问主窗口指针;
但是,我需要文档类Cc2viewDoc的指针,这样我就可以使用调用参数a和b来更新文档类中的成员变量!!
Jeff Prosise 的第 503 页暗示 m_pDocument 是 Cc2viewView 类的成员变量,因此,我想,如果您能给我指向 Cc2viewView 类 cvwcp* 的指针,我可以尝试继续使用 cvwcp->m_pDocument。
经过几周的努力,我确实让 MFC c2view.dll 从 C# 调用并进行绘图。现在下一步是将调用的参数传递到Shograph int a 和int b 的参数列表中,以更新Cc2viewDoc 中的成员。
请帮助我。
我尝试从 C Win App 或 c2viewApp 获取指向 C Document 类的指针,如 A f x get A p p ( )
没有任何效果。 我在export.cpp中
出于多种原因,您不应该将 DLL 的内部结构暴露给外界。
主要 - 没有人应该关心您的 DLL 是否实现 MFC 文档/视图体系结构。同样重要的是 - 它根本不安全,因为可能存在版本冲突、对象生命周期管理等。
我认为,最佳实践是为您所需的功能创建一个简单的“extern C”API,并从您拥有的任何客户端调用它。