在 SDI 应用程序中访问 DLL 函数的正确方法是啥?
Posted
技术标签:
【中文标题】在 SDI 应用程序中访问 DLL 函数的正确方法是啥?【英文标题】:What is the correct way to access DLL functions in a SDI app?在 SDI 应用程序中访问 DLL 函数的正确方法是什么? 【发布时间】:2010-12-10 01:12:57 【问题描述】:我有一个运行良好的简单 SDI 应用程序。
最近我决定使用一些由 DLL 导出的函数。
所有这些 DLL 函数都使用 静态内存缓冲区(应用程序必须在函数调用中定义和使用)。
事实上,当视图中发生特定事情时,应该调用一些 DLL 函数。
我不确定应该如何处理 DLL 函数的调用。 MainFrame、Document 和 View 是否都可以访问它们(进而访问内存缓冲区)? 还是他们应该向应用程序发送消息以进行函数调用?
【问题讨论】:
【参考方案1】:定义“正确”:)
首先,我认为如果将所有对 DLL 的调用打包并将它们放在一个地方,会更好。然后,哪个调用 DLL 并不重要(即接口)。但是,最好只让系统的一部分知道 DLL 并使用该接口。在这种情况下,它取决于 DLL 实际在做什么,即它旨在处理什么样的抽象层。如果是与 Document 相关的数据,则应该由 Document 负责通信。如果 DLL 正在执行与视图相关的工作,它甚至可以被视图使用。如果 DLL 正在做与应用程序相关的事情,它应该属于应用程序。
问自己这个问题,DLL 正在做什么,即它在您的设计中扮演什么样的角色,然后由它来决定。
【讨论】:
以上是关于在 SDI 应用程序中访问 DLL 函数的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章