怎么才能让类定义的变量UserName,在过程SetValue中可以访问啊
unit myclass;interfacetype
  //define class
  MyClassSample = class
    UserName:string;
    age:Integer;
    procedure SetValue(un:string;age:Integer);      end;
implementation
    procedure SetValue(un:string;age:Integer);
     begin
        UserName := un;
        age := age;
     end;
end.

解决方案 »

  1.   

    procedure SetValue(var A: MyClassSample;Un:string;age:Integer);
    begin
       A.UserName := un;
       A.age := age;
    end;
      

  2.   

    避免变量常量同名,在参数前面加个类型标识,看以来不至于混淆 procedure SetValue(sUserName:string;Iage:Integer);  
      

  3.   

    类成员函数,就可以访问类变量,你的代码,SetValue声明 属于类成员函数,但实现函数缺非类成员函数,编译应该会出错。
    unit myclass;interfacetype
      //define class
      MyClassSample = class
        UserName:string;
        age:Integer;
        procedure SetValue(un:string;age:Integer);      end;
    implementation
        procedure MyClassSample.SetValue(un:string;age:Integer);
         begin
            UserName := un;
            age := age;
         end;
    end.
      

  4.   

    更正下,csdn把字体设置也转成代码
    unit myclass;
     
    interface
     
    type
      //define class
      MyClassSample = class
        UserName:string;
        age:Integer;
        procedure SetValue(un:string;age:Integer);  
     
        end;
    implementation
        procedure MyClassSample.SetValue(un:string;age:Integer);
         begin
            UserName := un;
            age := age;
         end;
    end.
      

  5.   

    过程改为 procedure MyClassSample.SetValue(un:string;age:Integer);