我觉得,可以有两种办法:
1:动态库。这种动态库,规定了几个标准的导出函数,做好之后,放在一个规定的目录下,然后,软件启动的时候,检查这个目录,根据dll,就可以得到相应的信息。
2:com。和第一种相似,规定一个标准的接口,然后再注册的时候,进行登记就可以使用了。
总之,只要规定好接口,应该很容易实现的。

解决方案 »

  1.   

    主要应该就是easypaper说的了...
    不过使用COM技术应该比使用DLL要方便一些...
      

  2.   

    我是用 dll 实现的,比较方便,速度还好。
    而 Com 就罗嗦一些了,而且不是绿色的,现在不是都讲究绿色软件吗?
    如果你的plugin不是用于大量的处理的话 而只是一些定制操作
    可以考虑用内置解释过滤,用脚本实现
      

  3.   

    i need a example!
      

  4.   

        我只讨论使用Dll的Plugins的实现方法!使用Dll的实现方法有以下几个优点:1.系统执行速度快;2:便于扩展;3:现在流行的大部分共享软件的Plugins是用Dll实现的,所以如果想与其他共享软件的Plugins兼容的话,那么Dll的Plugins的方法较好;4:实现简单!
        由于程序执行是作为进程执行的,如果想实现Plugins的话,我们可以通过定义一个Dll函数的调用接口,这样每次程序启动的使用可以检查在plugins列表中的Dll文件是否支持调用接口,如果支持的话,我们可以使用Dll动态装载的办法将其装入到进程空间,然后可以直接调用这个函数执行相应的扩展功能!
        另外,对于Dll和主程序的参数交换我们可以通过参数的形式由主程序传到Dll中,这样就可以实现与主程序的交互!
        对于函数的接口,我们可以使用接口相应的开发语言定义出其接口,如在C中是.h的文件定义,而在Delphi中是.pas的文件定义,通过分发这些文件我们可以使第三方开发者支持我们定义的Plugins标准!
        不知道我的解释是否明白,如有问题可以与我联系!e-mail:[email protected]
      

  5.   

    牛b 大侠们说了.,m.,m.,m..,,一大堆,根本只沾边而不解渴。
      

  6.   

    根本不知要plugin 到哪里。
      

  7.   

    目前,PlugIn功能的实现方法,主要有三种:动态库、COM和脚本解释。因为脚本解释比较困难,不予以讨论。
    动态库的方法,比较直接,也比较容易实现。主要的实现方法是:
    1:制作一个完成一定的功能的动态库,这个动态库,应该具有一些标准的,规定好的导出函数,例如:GetName、Execute等等。
    2:把动态库放到某一个指定的位置,供主程序访问。
    3:主程序启动的时候,搜索特定位置下的所有DLL,对每一个动态库,都要加载一次,尝试调用某一个标准导出函数,例如:GetName,获得该PlugIn的名字,在菜单中显示出来,同时,记录改菜单对应的DLL。
    4:当用户选中某一个PlugIn功能的时候,找出对应动态库,加载,通过调用某一个(一些)标准输出函数,例如:Execute,来执行该功能。执行完相应功能后,释放动态库。
    上面就是最基本的PlugIn实现方法。COM的实现方法,同DLL相近,是通过实现某一个(一些)标准的接口,来实现PlugIn。相对于DLL,需要增加组件的注册。只有进行注册后,才能使用。这一步可以通过安装程序进行。其它的步骤,同DLL类似。相对来说,DLL的实现比COM要简单,使用的时候,也比较方便,也是“绿色”型的软件(不需要向注册表中写任何东西)。COM则比较符合编程的潮流,而且组件程序可以不用放在规定位置,可以在本机上运行,也可以是远程计算机,组件不一定是DLL,可以是一个独立的程序等等。目前大部分PlugIn功能都是通过上面的方法实现的。