下面给出部分代码,当我单击DBGrid1的某个单元格子时候出现了错误!!!units  unit2var
  Form2:TForm2;
implenement
  uses  Form1;   
{Form1中有一个edit1控件,Form2中有一个DBGrid1控件,我要在单击DBGrid1中的一格后,将这个格子里的数据赋值给form1.edit1.text}。
procedure  TForm2.DBGrid1CellClick(...)var
    col:integer;
    row:integer;
begin
    col:=TStringGrid(DBGrid1).ColCount;
    row:=TStringGrid(DBGrid1).RowCount;
    ShowMessage(TStringGrid(DBGrid1).Cells[col,row]);
   //此行运行时候的错误大意是:内存的某个地址无法访问意思,估计是
        TStringGrid(DBGrid1).Cells[col,row]出问题了
    Form1.edit1.text:=TStringGrid(DBGrid1).Cells[col,row];
//这个句子好象也有问题,我感觉运行时错误的信息好象是:没有办法访问内存中的某个地址,是无法访问Form1吗???请教高手问题如何解决???

解决方案 »

  1.   

    uses  Form1;  
    应该是Uses Unit1吧!
      

  2.   

    不好意思,是Uses Unit1发帖子时候打错的啊!!不是这个错误!我编译通过了啊 !!请高手继续指点!!!!!!!!!!!!!!!1
      

  3.   

    在TForm2类中的public 部分加入一变量 ParentForm : TForm1 ,在interface 部分的uses添加unit1.然后在form2创建的时候对parentForm赋值为Form1.这样就可以通过ParentForm对象调用Form1中的对象了。