type
myclass1 = class
procedure xingming(var xingming:string);
procedure nianling(var nianling:integer);
end;procedure myclass1.xingming(xingming:string);
begin
xingming:='张三';
end;procedure myclass1.nianling(var nianling:integer);
begin
nianling:=18;
end;procedure TForm1.Button1Click(Sender: TObject);
var
mycls:myclass1;
name:string;
age:integer;
begin
mycls:=myclass1.Create;
mycls.xingming(name);
edit1.Text:=name;
end;end.

解决方案 »

  1.   

    name 没有赋值
    搞不懂这个程序做什么用的
      

  2.   

    mycls.xingming(name);
    上面这句话的意思是不是将name传入procedure myclass1.xingming(xingming:string);
      

  3.   

    edit1.Text:=name; 
    这句看不懂
      

  4.   

    procedure myclass1.nianling(var nianling: integer); 重名拉,
    procedure myclass1.nianling(var nianling1: integer); 
    下边那个也是这样
      

  5.   

    楼上的 
    我只是定义了方法
    还有实现方法
    怎么重名了?另外回四楼的
    如果:mycls.xingming(name);就是传值的话那么
    edit1.text:=name
    内容就是:
    procedure myclass1.xingming(xingming:string); 
    begin 
    xingming:='张三'; 
    end; 上面这些也是我按照我学Java的思想弄的
    如果错了 还请大家担待
    没人教是在是难啊
      

  6.   

    晕,都和你说重名了
    procedure myclass1.nianling(var nianling: integer); 这俩个名字一样,随便改一个地方,让他们名字不同就可以了 比如下边,在变量后边加个1什么的 
    procedure myclass1.nianling(var nianling1: integer);
     
      

  7.   

    是说你函数名和那个变量名一样了
    procedure myclass1.nianling(var nianling: integer);