AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Klassentyp zur Laufzeit ändern

Ein Thema von Carsten1234 · begonnen am 25. Mär 2009 · letzter Beitrag vom 26. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Klassentyp zur Laufzeit ändern

  Alt 25. Mär 2009, 12:29
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
42
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Klassentyp zur Laufzeit ändern

  Alt 25. Mär 2009, 20:43
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.

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 leitet man dann die einzelnen konkreten Klassen für die unterschiedlichen Windows-Versionen ab.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Klassentyp zur Laufzeit ändern

  Alt 26. Mär 2009, 12:46
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

Gruß oki
42
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
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