目前准备开发一个汽配汽修系统,功能就是汽配的进销存和汽修的流程,外加一些统计,已经完成了需求和数据库设计,准备编码。我以前参与过一个Delphi系统的开发,但只是作为程序员,工作也就限于根据模块的详细设计来编写代码,对于整个系统的规划不了解这次完全是自己从头来,对于如何组织这个工程一无所知。说的具体一点就是,1,是否采用传统的MDI多窗口还是其他更好的?也就是用什么样的界面组织方法来实现比较好?2,我想肯定不能把所有的功能都写到一个EXE文件中,那么,该如何把功能代码分配到不同的exe中,又如何把这些EXE组织到一起,又如何调用?3,我看过有的项目把功能都写到不同的DLL中,那么使用这种方式的好处在哪里呢?如果使用这种方式,又该如何组织和调用呢?我是一个只懂得一点编码的蹩脚Delphi程序员,这次是赶鸭子上架,时间又比较紧迫,希望大家能多多指点,这里先行谢过!!!!

解决方案 »

  1.   

    建议:到DELPHI社区发个帖子,找本地的程序员外包。需求和数据库设计完成了一般可以很快、经济地完成。老兄如果在杭州的话可以联系我,至少我可以建议那些任务可以由VC那些由D完成,这样可以减少发包成本,而且更重要的是后续的迭代更改任务可以减轻很多。
      

  2.   

    谢谢楼上的!再问一下,将子功能分别写在不同的DLL中后,如何对这些dll进行调用呢?有无此方面的资料?
      

  3.   

    谢谢楼上的!!!那如何组织和调用这些dll呢,是否有相关的资料,谢谢!!
      

  4.   

    eis的dll实现方式:(供参考)
    var
      Form_DataBaseSupport: TForm_DataBaseSupport;
      procedure ShowDLLForm(APP:TApplication; SC:TScreen ;var DllForm:TForm); stdcall;
      exports   ShowDLLForm;implementation
        uses Unit_Pass, Unit_SQLMod;
    {$R *.dfm}
    var
       WorkPath:AnsiString;//工作目录
    //============================DLL导出函数=========================================
    procedure ShowDLLForm(APP:TApplication; SC:TScreen ;var DllForm:TForm); stdcall;
    var
        I: Integer;
        Child: TForm;
    begin
         for I := 0 to Screen.FormCount - 1 do
         begin
            if Screen.Forms[I].ClassType = TForm_DataBaseSupport then
            begin
                 //ShowMessage(Screen.Forms[I].Name);
                 Child := Screen.Forms[I];
                 if Child.WindowState = wsMinimized then
                      ShowWindow(Child.Handle, SW_SHOWNORMAL)
                 else
                      ShowWindow(Child.handle,SW_SHOWNA);
                 if (not Child.Visible) then
                      Child.Visible := True;
                 Child.BringToFront;
                 Child.Setfocus;
                 Exit;  //退出
            end;
         end;
         Forms.Application := App;
         Screen := SC;
         Forms.Application.CreateForm(TForm_DataBaseSupport, Form_DataBaseSupport);
         DllForm:= Form_DataBaseSupport;//传出参数
         Form_DataBaseSupport.FormStyle:=fsMDIChild;//设为子窗体
         Form_DataBaseSupport.Visible:=true;//注意窗体Visible必须默认为:false
         Form_DataBaseSupport.Show;
    end;
    可以到http://www.einf.cn下载完整代码模板
      

  5.   

    建议网通用户访问http://cnc.einf.cn/ 快一些!
    顺便说一句:电信和网通的互通流量限制已经严重
    阻碍了中国信息化的发展!