你能找到一个使用 RTTI 的实际应用程序 TStringList
Can you find an actual application TStringList using RTTI
我不确定 RTTI 是否真的可行,但我想问一下。
我有一个全局单元,它只包含一些 TStringList 形式的 var 选择列表。通过数据库记录returning一个字符串,我可以使用RTTI通过"name"和return在单元中找到正确的字符串列表吗?
function GetStringListFromUnitByName(aUnit, aName: String): TStringList;
begin
end;
如果所有字符串列表都存储为通用 class 中的 public 变量会有帮助吗?
TMyPickLists = class
public
FList1: TStringList;
FList2: TStringList;
end;
无法使用 RTTI 枚举全局变量。您需要按照建议使用 class 的变量。这些可以是实例变量,或 class 变量。
但就我个人而言,我不认为这里使用 RTTI 有什么意义。如果是我,我会创建一个字典并在初始化期间将列表添加到字典中:
var
PickLists: TDictionary<string, TStringList>;
....
PickLists := TDictionary<string, TStringList>.Create;
PickLists.Add('List1', List1);
// etc.
我不确定 RTTI 是否真的可行,但我想问一下。
我有一个全局单元,它只包含一些 TStringList 形式的 var 选择列表。通过数据库记录returning一个字符串,我可以使用RTTI通过"name"和return在单元中找到正确的字符串列表吗?
function GetStringListFromUnitByName(aUnit, aName: String): TStringList;
begin
end;
如果所有字符串列表都存储为通用 class 中的 public 变量会有帮助吗?
TMyPickLists = class
public
FList1: TStringList;
FList2: TStringList;
end;
无法使用 RTTI 枚举全局变量。您需要按照建议使用 class 的变量。这些可以是实例变量,或 class 变量。
但就我个人而言,我不认为这里使用 RTTI 有什么意义。如果是我,我会创建一个字典并在初始化期间将列表添加到字典中:
var
PickLists: TDictionary<string, TStringList>;
....
PickLists := TDictionary<string, TStringList>.Create;
PickLists.Add('List1', List1);
// etc.