就是都写在一起的时候,有用到很多窗体,比如说:
邮件管理做为一个模块,仓库作为一个模块,其中,都有用到选择客户这个窗体,请问我该怎么处理这个共用的窗体呢?是邮件管理管邮件管理写一个客户选择窗体呢?还是有什么办法可以很好的区别是哪个模块在调用该窗体呢?谢谢!

解决方案 »

  1.   

    放在dll里面,程序里调用 调用的时候程序可以和窗体通信的
      

  2.   

    我放在BPL中,我的意思是这样的:
    比如选择客户这个窗体,在客户模块中要用到该窗体
    在仓库模块中也要用到该窗体
    请问,是否应该把这个窗体做成两个?每个模块分别用一个?还是共用?如果共用要怎么做呢?因为共用的话在客户模块中肯定会USES客户模块中用到的单元文件,而在仓库模块中不会有,这样的话在仓库模块中再用的话肯定会找不到客户模块中的这些单元的.
    请高手们帮帮忙呢.谢谢
      

  3.   

    只有一个窗体,共用,问题在这里,选择客户这个窗体应该是独立的,你可以直接USES,除非你的选择客户窗体依赖于客户模块,那么, 你应当做的是把窗体功能独立出来
      

  4.   

    怎么独立呢?
    比如客户模块中有一个窗口名是: CustomerForm
    仓库模块中有一个窗口名是: WarehouseForm
    这两个模块中都要用到选择客户,把客户名显示在一个CustomerName的文本框中
    选择客户窗体名是: SelectCustomerForm
    那么当客户模块调用选择客户时,应该是: 
    procedure TSelectCustomerForm.b1Click(Sender: Owner);
    var
      whichform: integer;
    begin
      if whichform = 1 then
        CustomerForm.CustomerName.Text := 'Jack';  if whichform =2 then
        WarehouseForm.CustomerName.Text := 'Jack';
    end;问题就在这里,假如把这个选择客户的窗体放在客户模块中,那么怎样在Warehouse模块中用呢?