procedure Tfrmchild.OpenTable( var Table:TTable);
begin       //初始化表
   Temp := TTable.Create(Owner);
   Temp := Table ;
   Datachild_ds.DataSet := temp;
   Temp.Open;
end;
OpenTable(datamd.depart)(datamd.depart是数据模块中的一个table控件)

解决方案 »

  1.   

    Temp,Owner在那儿定义?Table是对象指针,不需要再Create一个新的了
      

  2.   

    你的程序很混乱。
    就这样就可以了:
    Datachild_ds.DataSet := Table;
    Table.Open;
      

  3.   

    这样就是对的了
    procedure Tform1.OpenTable( var Table:TTable);
    var
      temp:pointer;
    begin       
       //Temp := TTable.Create(Owner);
       Temp := Table ;
       datasource1.DataSet := temp;
       ttable(Temp).Open;
    end;
      

  4.   

    这是我在父类中定义的一个过程
    但是我在子类中调用
    OpenTable(datamd.depart)(datamd.depart是数据模块中的一个table控件)
    运行到
    Temp:= Table时就出错
    access violation at address 004C5DEC in modle XX.exe
    read of 0000005C
      

  5.   

    procedure Tfrmchild.OpenTable(Table:TTable);
    var temp:TTable;
    begin       //初始化表
       Temp := Table ;
       Datachild_ds.DataSet := temp;
       Temp.Open;
    end;