我在主窗体中打开一个外部文件,需要把这个文件名传递给子窗体,请问怎么做?

解决方案 »

  1.   

    unitmain ;var  //全局  s : String ;  s := OpenDialog1.FileName ;
    unitchild ;implementation
    uses uintmain ;
      

  2.   

    是这样的,我通过按钮的OnClick实现s := OpenDialog1.FileName ,想问的是过程中的s怎么传递呢?
      

  3.   

    在Public中声明变量
    然后只要form1.**(变量名)就可以了
    电脑会自动提示uses form1
      

  4.   

    对不起我没讲清楚。代码贴出来您看看:MainUnit部分代码:var
      FFileName:string;procedure TMainForm.OpenNClick(Sender: TObject);
    var
      Title:String;
    begin
      Title:='数据表'+IntToStr(MDIChildCount+1);
      CreateChild(Title);
      if OpenDialog1.Execute then
      begin
        FFileName:=OpenDialog1.FileName;
      end;
    end;ChildUnit部分代码:uses MainUnit;procedure TChildForm.FormCreate(Sender: TObject);
    begin
        Table1.TableName:=FFileName;
        Table1.Active:=true;
    end;在MainForm中点“打开”菜单时,先会新建一个子窗体,然后通过打开文件的对话框选择一个文件并把这个文件名赋给FFileName,在ChildForm创建时把MainUnit中的变量FFileName的值赋给ChildUnit中的Table1的TableName属性,上面的程序在执行到Table1.Active:=true;时就会出现“Table1的TableName属性没有值”的错误。
      

  5.   

    FFilename我本来就是设置为全局变量的啊