インスタンス化したいクラスはTPersistentClassを継承していないので
GetClassが使用できません。
クラス階層は変更したくない為色々調べてみたのですがClasses.pasのTRegGroup.GetClass、TRegGroup.RegisterClass等を参照して
RegGroupsレイヤーを取り除いて単純化すればよいと他のサイト等で見かけました。
ただ、実際にソースを見ていても今いちよくわからずこちらに書き込みした次第です。
初歩的な質問で申し訳ないのですがどなたかご教授いただけませんでしょうか。
type
TObjectClass = class of TObject;
var
ClassList: TStringList;
implementation
procedure RegisterClasses2(Value: TObjectClass);
begin
ClassList.AddObject(Value.ClassName,TObject(Value));
end;
function GetClass2(Value: String): TObjectClass;
var
I: Integer;
begin
I := ClassList.IndexOf(Value);
if I <> -1 then
begin
Result := TObjectClass(ClassList.Objects[I]);
end;
end;
なんとか解決できました。
ありがとうございました。