请问如何根据字符串获得对象引用? ( 积分: 100 )

  • 主题发起人 主题发起人 jimjing
  • 开始时间 开始时间
J

jimjing

Unregistered / Unconfirmed
GUEST, unregistred user!
比如,程序运行时刻,获得了‘Edit1’这个一个字符串,而且知道Edit1确实存在,但是如何引用到Edit1呢?怎么没有StrToObject()这样的函数啊?而且我看到Delphi帮助说GetObject(const S:string)好像可以,但是这个函数怎么不能调用呢?
 
比如,程序运行时刻,获得了‘Edit1’这个一个字符串,而且知道Edit1确实存在,但是如何引用到Edit1呢?怎么没有StrToObject()这样的函数啊?而且我看到Delphi帮助说GetObject(const S:string)好像可以,但是这个函数怎么不能调用呢?
 
ShowMessage(TEdit(FindComponent('Edit1')).Text);
上面引号中的Edit1是一个控件名。
 
但是我如果想通过字符串得到一般对象的引用,怎么办呢?
比如说,程序运行时刻我知道树结点:TreeView1.Items[0].item[1].item[2]存在,但是我如何通过字符串'TreeView1.Items[0].item[1].item[2]'来引用到这个结点呢?
 
如果你不知道这个对象是什么类,你怎么调用它的属性来引用它呢?
如果你得到的字符串是'Edit1',你知道用它的Text属性,
如果你得到的字符串是'DateTimePicker'呢,你要调用它的属性?
FindComponent('Edit1')这句返回的是控件的句柄
 
(FindComponent('edit1') as TEdit)

就跟引用edit1变量一样~
 
接受答案了.
 
后退
顶部