Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Klassentyp zur Laufzeit ändern (https://www.delphipraxis.net/131456-klassentyp-zur-laufzeit-aendern.html)

oki 25. Mär 2009 11:29

Re: Klassentyp zur Laufzeit ändern
 
Das man das so machen kann ist mir neu. Aber ich lerne jeden Tag dazu.
So wie das aussieht sollte man aber schon wissen, was man da tut. Diese Aussage:
Zitat:

Die neue Klasse muss vor der bisherigen Klasse abgeleitet sein und ausserdem darf die abgeleitete Klasse keine
zusätzlichen Felder haben.
gilt dann aber imho für alles, Propertys, Methoden; alle Member der Klasse. Es dürften somit also nur Methoden der Basisklasse überschrieben werden.

Ist dann die Zuweisung über eine Metaklasse nicht der bessere Weg und nicht so brutal durch die Hintertür?

Klar, es wurde gefragt, ob man die Klasse nachträglich ändern kann. Somit passt die Anwort von shima auf die Frage. Ich würd mir sowas zu proggen aber verkneifen.
Um das schreiben einer speziellen Formularklasse kommt er aber trotzdem nicht rum. Wo solls sonnst auch herkommen. Der Rest ist dann nur die Art, wie er die Klassen verwendet.

Gruß oki

alzaimar 25. Mär 2009 19:43

Re: Klassentyp zur Laufzeit ändern
 
shmia's Version ist doch auch nur eine etwas robustere Variante meines Hacks. Ich würde das ja auch nie so machen, aber es beantwortet die Frage. :mrgreen:

Eine Class Factory, sowie eine Formklasse als Adaptermuster sollte der richtige Weg sein. Man erstellt sich eine Schnittstelle, die die gewünschte Funktionalität bereitstellt und stülpt diese über die einzelnen individuellen Form-klassen, sozusagen als Wrapper. Nur eben ein Adapter. Oder ist es doch ein Wrapper? Na egal. Von diesem Wrapdapter :mrgreen: leitet man dann die einzelnen konkreten Klassen für die unterschiedlichen Windows-Versionen ab.

oki 26. Mär 2009 11:46

Re: Klassentyp zur Laufzeit ändern
 
Zitat:

Na egal. Von diesem Wrapdapter Mr. Green leitet man dann die einzelnen konkreten Klassen für die unterschiedlichen Windows-Versionen ab.
und ums schreiben von speziellen Klassen für XP und Vista kommt er trotzdem nicht rum :mrgreen:

Gruß oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz