gpt4 book ai didi

delphi - 给定字符串中的标识符,获取持久对象的实例

转载 作者:行者123 更新时间:2023-12-03 19:45:33 25 4
gpt4 key购买 nike

在Delphi 7中,给定对象标识符的字符串形式,如何获取持久对象的实例?

function TForm1.GetObject(Identifier: string): TPersistent;
begin
//what to do here?
end;


使用示例:

//If I have these declared...
public
MyString: string;
MyStringList: TStringList;

//the function will be used something like this
MyString:=TStringList(GetObject('MyStringList')).Text;


预先谢谢您,对于无法用英语清楚地表达我的问题,我深表歉意。

最佳答案

这是很常见的。
您需要按名称保存对象实例的列表。您已经在字符串列表中提出了建议。可用于按名称检索实例。所以:
创建对象时,您可以执行以下操作:

MyObjList := TStringList.Create;

MyObj := TMyObj.Create;
MyObjList.AddObject( 'Thing', MyObj );

MyObj2 := TMyObj.Create;
MyObjList.AddObject( 'Thing2', MyObj2 );


等等

现在,要检索您,只需执行以下操作:

function GetObject( const AName : string ) : TMyObj;
begin
I := MyObjList.IndexOf( AName );
If I = -1 then
Raise Exception.Create( 'Cant find it' );
Result := MyObjList[I] as TMyObj;
end;


布里

关于delphi - 给定字符串中的标识符,获取持久对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1231669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com