我把这些包含在一个函数里
procedure TMainForm.WriteClienData(data:TClienData;ClienForm:TClienForm);
 begin    data.clienNumber:=ClienForm.NumberEdit.Text;
    data.CompanyName:=clienForm.CompanyEdit.Text;
     data.Province:=ClienForm.ProductEdit.text;
     data.City:=ClienForm.CityComboBox.Text;
     data.CompanyAddr:=ClienForm.addressEdit.Text;
     data.HomePage:=ClienForm.HomePageEdit.Text;
    data.CompanyTele:=ClienForm.CompanyTelEdit.Text;
    data.Linkman1:=ClienForm.linker1Edit.Text;
     data.Tele1:=ClienForm.L1TelEdit.Text;
     data.Mobil1:=ClienForm.L1MobilEdit.Text;
    data.Linkman2:=ClienForm.linker2Edit.Text;
     data.Tele2:=ClienForm.L2TelEdit.Text;
    data.Mobil2:=ClienForm.L2MobilEdit.Text;
    data.Meno:=ClienForm.Memo1.Text;
 end;
想要修改后的Data,可是返回后访问这个data时是内存访问出错,如何解决呢???
请大家帮帮忙,小弟刚学DELPHI.

解决方案 »

  1.   

    To;iamcfr(LaoChen)
    我有试过还是说什么内存访问出错的为什么呢??
      

  2.   

    你的TClienData是不是这样定义的
      aa = record
        clienNumber : stirng;
         ....
      end;
      TClienData = ^aa;
    如果是这样的话,在WriteClienData之前要做 data := new(TClientData);操作分配内,用完后自己释放。如果不是上面这样定义iamcfr(LaoChen)说的方法加个var应该是可以的
      

  3.   

    procedure TMainForm.WriteClienData(var data:TClienData;ClienForm:TClienForm);