在SDI应用程序中访问DLL函数的正确方法是什么?

问题描述:

我有一个简单的SDI应用程序,工作得很好。在SDI应用程序中访问DLL函数的正确方法是什么?

最近我决定使用一些由DLL导出的函数。

所有这些DLL函数都可以与静态内存缓冲区(应用程序必须在函数调用中定义和使用)一起使用。

事实是,在查看中发生特定事件时应调用某些DLL函数。

我不知道如何处理DLL函数的调用。 MainFrame,Document和View都可以访问它们(,因此访问内存缓冲区)? 或者他们应该消息应用程序来进行函数调用?

定义“正确的” :)

首先,我想你会好起来的,如果你包装所有的DLL的调用,并把它们放在一个地方。然后,哪一个调用DLL(界面明智的)并不重要。但是,最好让系统的一部分知道DLL并使用该接口。在这种情况下,它取决于DLL实际正在做什么,即它打算使用哪种抽象层。如果它是与文档相关的数据,则应该是文档来处理通信。它甚至可以被视图使用,如果该DLL正在做视图相关的东西。如果DLL正在做与应用程序相关的东西,它应该属于应用程序。

问问你自己这个问题,DLL在做什么,即它在你的设计中有什么样的角色,并让它决定。