我有两个窗体,frmDept 和 frmdeptadd,在frmdept内用
var
  frmdetaadd:tfrmdetaadd;
begin
  frmdetaadd:=tfrmdetaadd.Create(self);
  frmdetaadd.Show;
end;
创建并显示了frmdeptadd窗体,但在这个窗体里给frmdept内的控件赋属性值时出错
这两个窗体都不是自动创建的,且都是mdichild,已互相use,请问如何解决
顺便提一句:如果frmdept设为自动创建则可以通过。但如果不设为自动创建是否也有办法通过呢?

解决方案 »

  1.   

    直接frmdetaadd.Show;
    不要上面的frmdetaadd:=tfrmdetaadd.Create(self);
    试试看
      

  2.   

    var
      frmdetaadd:tfrmdetaadd;
    已经存在的Form好象不用再定义变量
      

  3.   

    用Application.CreateFrom(Tfrmdetaadd,frmdetaadd);
      

  4.   

    应该是
     if not Assigned(frmdetaadd) then
        frmdetaadd:=Tfrmdetaadd.create(Application);
      frmdetaadd.show;
      

  5.   

    你要看窗体的创建过程在哪个窗体中,如frmDept在 frmdeptadd窗体中创建(注:是手工创建),则 frmdeptadd应该可以访问frmDept窗体中的控件,而反过来则不可以。
      

  6.   

    楼主是在一个midichild象另外一个midichild里面写东西么?
    而且都不是自动创建的~
    我觉得这样设计总觉得不怎么好~midi窗口相互use...
    你新建一个unit,里面定义你所需要的变量,就象定义全局变量一样~