Hallo,<p>
wie kann ich zur Laufzeit ein Objekt dynamisch mit Hilfe <br>
einer Zeichenkette (entspricht gleich dem Klassenamen) erstellen ?<br>
<br>
an Stelle von ...<br>
<br>
procedure Form1.ErstelleXObjekt (sKlassenName : String);<br>
var xEdit : TEdit;<br>
var xButton : TButton;<br>
begin<br>
if sKlassenName = 'TEdit' then <br>
begin<br>
xEdit := TEdit.Create (Self);<br>
end;<br>
if sKlassenName = 'TButton' then <br>
begin<br>
xButton := TButton.Create (Self);<br>
end;<br>
// und so fort <br>
...<br>
end;<br>
<br>
moechte ich eine einfachere Funktion die auf das RTTI zugreift ...<br>
<br>
procedure Form1.ErstelleXObjekt (sKlassenName : String);<br>
var xObject : TObject;<br>
begin<br>
xObject := ErstelleObjektZurLaufzeit (sKlassenName, self oder Instance oder ???);<br>
xObject := ErstelleObjektZurLaufzeit ('TButton', self oder Instance oder ???);<br>
<br>
...<br>
end;<br>
<br>
kann mir jemand sagen, ob es eine Funktion fuer "ErstelleObjektZurLaufzeit" gibt ?<br>
<br>
Gruss und Dank<br>
Dietmar
wie kann ich zur Laufzeit ein Objekt dynamisch mit Hilfe <br>
einer Zeichenkette (entspricht gleich dem Klassenamen) erstellen ?<br>
<br>
an Stelle von ...<br>
<br>
procedure Form1.ErstelleXObjekt (sKlassenName : String);<br>
var xEdit : TEdit;<br>
var xButton : TButton;<br>
begin<br>
if sKlassenName = 'TEdit' then <br>
begin<br>
xEdit := TEdit.Create (Self);<br>
end;<br>
if sKlassenName = 'TButton' then <br>
begin<br>
xButton := TButton.Create (Self);<br>
end;<br>
// und so fort <br>
...<br>
end;<br>
<br>
moechte ich eine einfachere Funktion die auf das RTTI zugreift ...<br>
<br>
procedure Form1.ErstelleXObjekt (sKlassenName : String);<br>
var xObject : TObject;<br>
begin<br>
xObject := ErstelleObjektZurLaufzeit (sKlassenName, self oder Instance oder ???);<br>
xObject := ErstelleObjektZurLaufzeit ('TButton', self oder Instance oder ???);<br>
<br>
...<br>
end;<br>
<br>
kann mir jemand sagen, ob es eine Funktion fuer "ErstelleObjektZurLaufzeit" gibt ?<br>
<br>
Gruss und Dank<br>
Dietmar
Comment