Hallo,
die Umwandlung eines Strings in eine Klassenreferenz kann mit Hilfe der Funktion
GetClass durchgeführt werden. Die Frame-Klassen müssen dazu einmalig mittels
RegisterClass registriert werden.
Delphi-Quellcode:
type
TFrameClass = class of TFrame;
function FindFrameClass (const aClassName: string; var aFrameClass: TFrameClass): Boolean;
var
ClassRef : TPersistentClass;
begin
ClassRef := GetClass(aClassName);
Result := Assigned(ClassRef) and ClassRef.InheritsFrom(TFrame);
if Result then
aFrameClass := TFrameClass(ClassRef);
end;
// Beispiel für den Einsatz der Funktion:
var
FrameClass : TFrameClass;
begin
RegisterClass (TFrameShowInteressenten);
RegisterClass (TFrameObjekte);
RegisterClass (TfrGewerbeMaskeAngebot);
if FindFrameClass('TfrGewerbeMaskeAngebot', FrameClass) then
if (not Assigned(FActiveFrame)) or not (FActiveFrame is FrameClass) then
begin
FreeAndNil (FActiveFrame);
FActiveFrame:= FrameClass.Create(Self);
FActiveFrame.Parent := pnlFrameParent;
end;
end;
So oder ähnlich sollte das funktionieren.
Gruß Hawkeye