这是对象的序列化~~~  需要自己写代码~~~  转换规则自己定义TObject(str)------这是不能转换的!!!!!

解决方案 »

  1.   

    楼主为什么 不使用class呢?      1、TObject 在System 单元声明,它是所有其它类的最终祖先。TObject 只定义了少数方法,包括一个基本
    的构造函数和析构函数。      2、System 单元还声明了一个类引用类型TClass。虽然它继承Object,但它定义了类的基本方法。
    TClass = class of TObject;
    如果在类声明中没有指定父类,则它直接继承于TObject。所以
    type TMyClass = class
    ...
    end;
    等同于
    type TMyClass = class(TObject)
    ...
    end;
    Class可读性较好,推荐使用。3、使用class可以通过className实现获取对象名(string化)4、TObject不能通过className实现获取对象名。只能获取标识字符
    var  o:TObject;
           str:string;
    begin
       Str:='AAA';                        // Object的标识字符
       o:=TObject(Str);
       Edit1.Text:=String(0);    //  获取Object的标识字符AAA  
    end;5、建议通过继承class方式,比较好用。 
      

  2.   

       Str:='AAA';                        // Object的标识字符
       o:=TObject(Str);
       Edit1.Text:=String(0);    //  获取Object的标识字符AAA  
    这段代码写的有什么用?!! o:=TObject(Str);  //取Str地址,转换成Object
      Edit1.Text:=String(0);   //把Object地址处的Str取出来要知道,在delphi里,所有占内存相同的数据类型都可以相互转换。
    比如: integer, string, TObject, TClass, arrry,可以相互转换。  它们都占32字节