二个单元在互相USERS后procedure TAForm.BitBtn1Click(Sender: TObject);
begin
  BForm:=TBForm.Create(Nil);
  BForm:=TBForm.Create(self);  //出错了:(
  BForm.ShowModal;
end;
procedure Bform.FormShow(Sender: TObject);
begin
  Edit1.Text:=AForm.Edit1.Text; //再次出错:(
End;是不是我这个思路本来就不对呢?还是有什么工作没作?还是根本就不能调用?刚注册没多久,赚的分也不多,所以我也赶快去回答一些能解决的问题,以后好高分想赠:)

解决方案 »

  1.   

    BForm:=TBForm.Create(Nil);
    BForm:=TBForm.Create(self);  //出错了:(
    上面那句不是已经创建了窗体么!!!!!
      

  2.   

    第一个问题是因为两次创建造成的吧第二个问题没说太清楚,从代码看,应该没有什么问题的
    我想,出错可能原因应该是你的两个EDIT(或者其中一个)是动态建立的,而在你没有创建之前你就调用了他们的属性而导致的吧
      

  3.   

    去掉
    就主要是下面这条语句出错,后一生气才加了这句:)
    BForm:=TBForm.Create(Nil);
      

  4.   

    用BForm:=TBForm.Create(Application);试试
      

  5.   

    传递主程序的句柄,并将此句柄指定为构造器的Owner!第二个问题不清楚!
      

  6.   

    procedure TAForm.BitBtn1Click(Sender: TObject);
    begin
      BForm:=TBForm.Create(Nil);
      BForm:=TBForm.Create(self);  //这里没错了,因为BForm的Create里有调用AForm中AForm.Edit1.Text的语句,去掉就没错了:(
      BForm.ShowModal;
    end;
    procedure Bform.FormShow(Sender: TObject);
    begin
      Edit1.Text:=AForm.Edit1.Text; //但是这里怎么会有错呢??????????这条语句不管是写在哪里都报错,就连我写在一个按钮的代码里都会错???Way???????????????Help Me
    End;
      

  7.   

    错误代码:Access violation at address 022c8da9 in ...........................
      

  8.   

    错误代码:Access violation at address 022c8da9 in ...........................
      

  9.   

    AForm在哪里声明的?
    什么时候创建的?
      

  10.   

    好象AForm不是一个有效的引用,
    如果想得到AForm.Edit1.text也可以这样写:
    procedure TAForm.BitBtn1Click(Sender: TObject);
    begin
      BForm:=TBForm.Create(self);
      BForm.Edit1.Text:=Edit1.Text; 
      BForm.ShowModal;
    end;
      

  11.   

    同意楼上的. 你错的原因是: 在BForm的show事件触发时AForm已经无效了.
    必须在show前赋值给BForm.Edit1.Text.
      

  12.   

    晕,我已经说过了,即使在调用的窗体里,我做了个按钮,让它来调用AForm的内容,但一点就报错啊
      

  13.   

    这些做在Application中就没错,为什么在DLL中会有错误呢?