Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
7. Feb 2023
Dort war nur "falsch", dass es in TBasis virtual war und im Nachfahren nochmal virtual,
also verdeckt, anstatt überschrieben.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
7. Feb 2023
TAbg = class(TBasis)
procedure Assign(Source: TPersistent); {virtual;} overload;
:angle:
Naja, PObject sowie PPointer
aber nja.
oder ein Objekt im Object, wo sich das innere Objekt tauschen lässt.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
7. Feb 2023
Nein.
TPersistent.Assign und seine Freunde sind doof und wissen von nichts.
Ob man nun extern jedes Feld/Property kopiert, oder in einer Methode ala Assign macht ... gemacht werden muß es so oder so.
Sie können es auch garnicht, da sie nicht wissen was und wie es kopiert werden muß, sobald es keine einfachen Typen sind.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
7. Feb 2023
Aber nur wenn Assign/AssignTo implementiert ist.
Aber das Prinzip stimmt schonmal ... du mußt den Inhalt von 2 in die 1 kopieren / ihr zuweisen ... und sei es, dass du es mit jedem Feld/Property einzeln machen mußt.