在SDI应用程序中访问DLL函数的正确方法是什么?
问题描述:
我有一个简单的SDI应用程序,工作得很好。在SDI应用程序中访问DLL函数的正确方法是什么?
最近我决定使用一些由DLL导出的函数。
所有这些DLL函数都可以与静态内存缓冲区(应用程序必须在函数调用中定义和使用)一起使用。
事实是,在查看中发生特定事件时应调用某些DLL函数。
我不知道如何处理DLL函数的调用。 MainFrame,Document和View都可以访问它们(,因此访问内存缓冲区)? 或者他们应该消息应用程序来进行函数调用?
答
定义“正确的” :)
首先,我想你会好起来的,如果你包装所有的DLL的调用,并把它们放在一个地方。然后,哪一个调用DLL(界面明智的)并不重要。但是,最好让系统的一部分知道DLL并使用该接口。在这种情况下,它取决于DLL实际正在做什么,即它打算使用哪种抽象层。如果它是与文档相关的数据,则应该是文档来处理通信。它甚至可以被视图使用,如果该DLL正在做视图相关的东西。如果DLL正在做与应用程序相关的东西,它应该属于应用程序。
问问你自己这个问题,DLL在做什么,即它在你的设计中有什么样的角色,并让它决定。