关于网友提出的“Delphi 中TObject 对象如何转换成string”问题疑问,本网通过在网上对“Delphi 中TObject 对象如何转换成string”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:Delphi 中TObject 对象如何转换成string
描述: Delphi 中TObject 对象如何转换成string,比如
o:=TObject(str);
如何把o 转换成string
解决方案1: 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字节
解决方案2: str := string(o);
解决方案3: 这是对象的序列化~~~ 需要自己写代码~~~ 转换规则自己定义
TObject(str)------这是不能转换的!!!!!
解决方案4: 楼主为什么 不使用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方式,比较好用。
解决方案5:
亮了。。。强制转换不是这么个转的。。
以上介绍了“Delphi 中TObject 对象如何转换成string”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/824823.html