各位好! 我现在要做一个编程器的WRITER程序, 由于通用编程器支持的芯片种类非常多,而不同的片子提供商和单片机所需要的WRITE程序在某部分有一定区别, 同时,还要考虑软件的扩展性(可能在发布短期内又要增加对新片子的支持), 
我手头有一个编写器软件是采用如下方法: 在一个应用程序进行 设置/选择芯片, 选定后自动调用另一个EXE, 所以它的子EXE程序非常多,因为它支持的芯片很多.  而那些小程序的用户界面和操作基本上都是重复的(核心代码有区别),当然我也可以这样做,建一个工程,做好后,COPY N份,改一改与写芯片相关的代码就可以.  请问用什么方法能做到比较高效、稳定,更重要的是扩展能力强、方便升级。
望各位高手不吝赐教! 感谢先!

解决方案 »

  1.   

    采用DLL吧,升级方便。所有DLL接口可以定义为一致。
      

  2.   

    i think use OCX is better than DLL
      

  3.   

    以代码的可重复性来讲,应该把硬件操作与界面操作区分开。
        对于上层程序只知道运行某函数完成什么样的功能,不知道是什么硬件在运行或怎么运行,它对硬件是完全透明的。
        而硬件方面,建议做成DLL,且在DLL中区分一切硬件(型号之类的东东),它只提供函数功能,不在意怎么组织,怎样的逻辑。
        这样,更新硬件,只需修改DLL即可。
      

  4.   

    用COM吧,DLL和EXE都一样,我比较倾向于Exe因为它和用户程序不试运行在相同的地址空间的,这样就算程序有错也不会引起用户程序的崩溃,不过就是运行效率略低于DLL,其实所谓的OCX也是基于COM技术的,只不过是COM的一个扩展ActiveX罢了
      

  5.   

    lyrzhlgq(笑天,笑地), 
    你的建议不错, 只不过 "它只提供函数功能,不在意怎么组织,怎样的逻辑。" ,我不太赞同, 不管是那一部分都要做到比较好的设计. ANYWAY, 分还是要给的.
      

  6.   

    如有关于用DLL封装SERIAL/PARALLEL PORTS COMMUNICATIONS FUNCTIONs 的建议, 希望能指点一下. THANKS.