你看看我回答的这个贴子,能帮助你吗? http://expert.csdn.net/Expert/topic/2296/2296112.xml?temp=.7656671TClassList = class private FClassList: TList; function GetClass(Name : String) : TObject; public constructor create; destructor Destroy; function CreateByName(name : String): TObject; procedure RegisterClass(newclass: TClass); property ClassList[name: String]: TObject read GetClass; end;constructor TClassList.Create; begin FClasslist := TList.Create; end;destrucutor TClassList.Destroy; begin freeAndNil(FClassList); end;function TClassList.CreateByName(Name : string): TObject; begin try Result := ClassList[Name].Create; except raise Exception.Create(Format("类%S不存在或者没有注册", [Name]); end; end;function TCLassList.GetClass(Name: String); var I: Integer; begin for I := 0 to FClassList.count - 1 do begin Result := TClass(FClassList.Items[i]); if SameText(Result.ClassName, Name) then Exit end; end;
如果你要 查看工程中全部的窗口,点view forms就可以了
http://expert.csdn.net/Expert/topic/2296/2296112.xml?temp=.7656671TClassList = class
private
FClassList: TList;
function GetClass(Name : String) : TObject;
public
constructor create;
destructor Destroy;
function CreateByName(name : String): TObject;
procedure RegisterClass(newclass: TClass); property ClassList[name: String]: TObject read GetClass;
end;constructor TClassList.Create;
begin
FClasslist := TList.Create;
end;destrucutor TClassList.Destroy;
begin
freeAndNil(FClassList);
end;function TClassList.CreateByName(Name : string): TObject;
begin
try
Result := ClassList[Name].Create;
except
raise Exception.Create(Format("类%S不存在或者没有注册", [Name]);
end;
end;function TCLassList.GetClass(Name: String);
var
I: Integer;
begin
for I := 0 to FClassList.count - 1 do
begin
Result := TClass(FClassList.Items[i]);
if SameText(Result.ClassName, Name) then Exit
end;
end;