Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Mal wieder Klassenvererbung

  Alt 24. Jun 2004, 14:03
Moin!

Wenn man den Constructor virtuell abstrakt macht, dann weiss Delphi doch immernoch nicht für welche Klasse er sich entscheiden soll, weil das doch eigentlich von dem File abhängt aus dem geladen wird. Ich würde daher folgende Dinge vorschlagen:

1. Lege dir eine Metaklasse an für TGeometrie
2. Bau dir eine Funktion auf, die Klassen in einer Liste speichert. Übergeben wird eine Klasse die zu der Metaklasse passt (z.B. TQuader)
3. Speichere beim speichern den ClassName
4. beim Laden suche in der Liste von der Metaklassenliste nach einer Klasse mit dem Klassennamen und instanziiere diese über die MetaClass.

5. Nutze bei dir für deine TGeometries Klasse eine TObjectList als ein dynamisches Array, das macht die Verwaltung einfacher.

Beispiel zu dem Punkten 1. bis 4. kannst du dir z.B. in meiner XML Library auf meiner HP anschauen. Dort kann sich jeder einen eigenen Charset Encoding Filter schreiben und installieren. Dieses funktioniert genau nach dem Prinzip. Also schau dir mal wie ich die ISO8859-1 und UTF-8, etc registriere, verwalte und dann, wenn ich in der Datei ein charset encoding finde, instanziiere. (Die Registrierung wird bei den Charset Encodern im Initialize der Unit durchgeführt und damit die aufgerufen wird, muss die Unit einfach nur im Projektfile mit enthalten sein).

MfG
Muetze1
  Mit Zitat antworten Zitat