在我的机器上可以Create的:procedure TForm1.Button1Click(Sender: TObject);
var
  a:TLinkData;
begin
  a:=TLinkData.Create;
  a.Free;
end;我用的是Win2k+D5

解决方案 »

  1.   

    我也要以Create,我用的也是Win2k+D5 
      

  2.   

    请先看你的这个申明:
    TData=record
        NO:integer;
        ID:string;
           ~~~~~~~ 注意:ID没有内存空间
        Status:string;
               ~~~~~~~   Status也没有内存空间
      end;
    Constructor Create  (MData:TData);
                         ~~~~~~它又是TDATA类型的
    所以MDATA先要赋值,最好是申明成:    
    TData=record
        NO:integer;
        ID:string[255];
        Status:string[255];
      end;
        
      

  3.   

    你要实现的好像是双向链表什么的,类的定义好像有问题,不过你出错的主要原因应该是MData:TData是一个过程中的局部变量,而FirstData:TNodeData、LastData是类的变量,MData的内存空间是在过程中分配的,退出过程就消失了。可以把MData定义为指针,当然其它操作也要改变。
      

  4.   

    TLinkData创建时,访问了TNodeData的私有变量data。