Zitat von
Muetze1:
Zitat von
xZise:
Aber warum funktioniert das denn nicht? TExplorerTab ist do ein Nachfahre von TTab? Müsste ich also die Funktio überladen?
Die
Exception wird geschmissen, wenn es auch nur eine noch abstracte Methode in der Klasse gibt. Also: hast du wirklich
alle abstracte Methoden überschrieben (und implementiert)?
Das Hauptproblem ist selbst ohne abstrakten Methoden funktioniert das nicht
Oder müssen die nun abstrakt sein, damit er auch die richtige Methode aufruft?
Zitat von
Muetze1:
Zitat von
xZise:
Nein, aber der Konstruktor von TExplorer/MemoTab, welche ich ja ausschließlich übergebe.
Wenn du eine
AV bekommst, dann schau im Debugger nach, was den nil ist. Also ob fSheet wirklich assigned ist etc. Auch kannst du bei unklarer Gesamtlage mit Debug-DCUs dein Projekt neu erstellen und dann in die
VCL debuggen um zu schauen wo die
Exception herkommt.
Laut Debugger ist in der AddFunktion "
FSheets" und ehm "
FTabs"
nil
Zitat von
Muetze1:
Zitat von
xZise:
Selbst wenn würde es keinen Fehler verursachen, da Explizit nirgends .Free aufgerufen wird.
Kein Fehler, nur (ein) Speicherleck(s)...
Achso
Naja die Speicherlecks kann man nur beheben, wenn es funktioniert xD
So ! Ich habe jetzt TTab komplett "deabstrahiert" xD und die Add Methode überladen (mit TMemoTab und TExplorerTab)
So funktionierts, aber das war nicht der Zweck des Vererben
MfG
xZise