一个项目中窗体太多了,我想分成几个项目来做,大家给点意见,关键是几个项目分别编译后,之间如何传信息呢?
我的这个项目中有很多功能,比如库存管理,人事管理,生产进度管理,计价管理等。现在有100多个窗体,现在编译时间比较长,而且不好维护,所以我想分成几个项目来做。各个项目分别编译,但是这样做就存在一个问题,就是各个模块间如何传信息。举例吧。现在这些模块全做在一个项目文件中,最后编译成一个exe文件。用户登录后就可以从菜单中选择自已的功能了。
但是我分为多个项目后,总不能让用户每进入一项功能就登录一次吧。比如用户现在已登录到库存管理模块进行操作,他要使用生产管理的功能,总不能再登录一次呀,我想直接调用“生产管理”模块的exe文件就行了。可是如何实现呢?多个exe文件之间如何传信息呢?比如规范的方法是什么呢?我在单位没有搞过大的系统,可是这个系统越做越大。一个项目确实维护不下去了。 
我必须分开,但是不知如何做。

解决方案 »

  1.   

    目前想到了两个方法:
    1.把每个模块做一个DLL文件,然再用一个工程把所以的模块的DLL都加载进去,这样最后生成的也就只有一个exe文件,这也是平时所说的模块化设计
    2.每个模块都做成一个exe文件,然后再用一个工程去调用各个exe文件,如Shell之类,显然此方法不如第一个方法好使以上纯属个人意见^_^
      

  2.   

    肯定是用DLL
    做一个主程序负责界面和调用即可。
      

  3.   

    你把每个独立的功能做成一个DLL,比如库存管理,人事管理,生产进度管理就是三个DLL,那么他们之间如果存在有需要共享的数据成员,比如登陆操作员,那么在DLL里创建一个方法来获取登陆操作员的信息。大型的程序都建议这么操作,各个模块之间可以相互独立开发,只要事先协议好需要各自开发的接口和数据就可以了,我们不需要去管其他人员开发的DLL是如何实现,只要去调用他的接口就可以了。
      

  4.   

    DLL文件怎么做啊 ?我只用过第二个方法楼主的是ERP 
      

  5.   

    do while true
        call 狂顶第一种方法()
    loop
      

  6.   

    也可以是EXE,不过是ActiveX EXE,就像word一样:
    set word = createobject("word.application")
      

  7.   

    最好的方法应该是调dll的方式,这是规范的做法,不过工作量也大。
    如果想简单些,就编译成多个普通的exe,shell调用,用命令行参数、临时文件、共享内存、数据库等方式传参。
      

  8.   

    DLL的方法当然好,但对楼主的要求也比较高.