我的毕业论文要做一个基于插件的系统,系统和插件要数据通信的,我想请问插件用mfcdll做还是atl的dll做,我插件当中需要添加对话框、窗体之类的,怎么添加,那位大侠给我点建议,或有什么代码,给我看看

解决方案 »

  1.   

    插件你定义好接口,使用dll或者其他的形式实现,这根用mfc还是atl没多大关系。你完全可以不用com来实现一个插件系统,插件系统只是一个系统结构而已。。
      

  2.   

    http://www.vckbase.com/document/viewdoc.asp?id=294
      

  3.   

    还是用COM作最好,尤其是不依赖于ATL,MFC的纯API COM,这样很好自己控制,我就是这么做的,利用COM在一个界面框架中增加子界面功能,类似微软的MMC.
      

  4.   

    cygroup 这位大哥能不能把你程序发给我看看,我做毕业论文亟需这方面资料。我是要用com做。[email protected]
    我要做的工作是两方面,一个是开发插件,一个是开发插件连接器(我命的名称,开发系统的人把我插件连接器加到开发环境中去,在程序中实现插件连接器的一个方法,插件连接器就把我开发好注册到系统中的插件读出来,初始化后在开发者的系统上添加相应菜单。下面是我插件连接器的想法,请兄台指教)                插件连接器控件SmartConnector的开发   为了方便开发者开发出具用插件结构的GIS系统,支持将来开发出来的标准插件,我们将开发出一个插件连接器控件SmartConnector,他的作用是负责GIS系统与插件之间的通信。
    具体作用如下所示:
    (1) 数据接口:把GIS系统中的数据转换为标准数据接口,使得对于插件来说系统里面的数据是透明的,也就是说不论系统使用的是什么样的数据格式,什么样的地图控件,经过SmartConnector转换为一种标准的数据接口。插件开发者只需要访问标准数据接口,而不用关心系统中数据具体的形式。
    (2) 插件管理:负责插件的导入、导出系统。在GIS系统启动以后,SmartConnector负责读出计算机中已安装注册的插件,获取插件的菜单、工具条信息,然后GIS系统从SmartConnector中读取所有插件的菜单、工具条信息,生成系统的菜单栏和工具栏。
    (3) 消息管理:负责管理插件和主系统之间的消息通信。SmartConnector自动监听来自主系统的消息,对获得的消息进行判别,如果是调用插件的消息,则由SmartConnector通过消息中的插件识别号调用这一特定插件。它的工作原理如下图所示:
     
    下面是SmartConnector的接口描述:
    1、 IMainframe接口 GIS插件就是通过此接口获得系统中的相关数据。
    2、 IMenuTool 接口 GIS系统获得各个插件的菜单和工具条信息。
    3、 IMapControler接口
    4、 IPluginInfo接口