SupplyTypeRec=record
    Code:^integer;            //用于供应商类别编号
    Name:^String;            //用于供应商类别名称
end;
 请问在这里我
     obj:=TZXBase.Create;
     mylist:=obj.FControlList;
     obj.DDX(label1,'str');
     obj.DDX(edit1,'str');
     obj.DDX(edit3,'str');
     obj.DDX(edit2,'int');
     obj.DDX(combobox1,'int');
     obj.UpdateData(True) ;
     Contrl:=Mylist[0];//前面的不用管
     new(supply.name);//这里使用肯定有问题,请问问题在哪里??
     Supply.Name:=@(contrl.varname);
     showmessage(supply.Name^);

解决方案 »

  1.   

    new(supply.name);//这里使用肯定有问题,请问问题在哪里
    应该没什么问题,只要Supply是SupplyTypeRec记录类型的变量
      

  2.   

    借鉴一下吧,用法全在下面type
       ptreerec=^treerec;
       treerec=record
          id:integer;
          name:string;
       end;
    procedure TformTBDB.initzttree;
    var
      rootnode,tmpnode,childnode:ttreenode;
      j:integer;
      ptree:ptreerec;
      CanAdd:boolean;
      nowreccount:integer;
    begin
          if clientdataset1.recordcount>0 then begin
            nowreccount:=clientdataset1.recordcount;
            if nowreccount=lastreccount then exit;
            lastreccount:=clientdataset1.RecordCount;
            CanAdd:=true;
            clientdataset1.First;
            while not clientdataset1.Eof do begin
                tmpnode:=nil;
                for j:=0 to treeview_ywzt.Items.Count-1 do begin
                  if (clientdataset1.FieldByName('sjdxno').AsInteger=ptreerec(treeview_ywzt.Items[j].Data)^.id ) then
                    tmpnode:=treeview_ywzt.Items[j];
                  if (ptreerec(treeview_ywzt.Items[j].Data)^.id = clientdataset1.FieldByName('dxno').AsInteger) then
                      CanAdd:=false;
                end;
                if CanAdd then begin
                  if tmpnode<>nil then begin
                    childnode:=treeview_ywzt.Items.AddChild(tmpnode,trim(clientdataset1.fieldbyname('dxmc').asstring));
                    childnode.StateIndex:=1;
                    new(ptree);
                    ptree^.id:=clientdataset1.fieldbyname('dxno').asinteger;
                    ptree^.name:=clientdataset1.fieldbyname('dxmc').AsString;
                    childnode.Data:=ptree;
                    if clientdataset1.FieldByName('dxsjflag').asstring<>'1' then
                       childnode.StateIndex:=-1;
                    clientdataset1.Delete;
                  end;
                end else
                  clientdataset1.Delete;          clientdataset1.next;
            end;
            initzttree;
          end;
    end;