![]() |
Frage zum erzeugen von Objekten
Hallo zusammen,
irgendwie sitze ich auf der Leitung. :oops:
Delphi-Quellcode:
Wenn ich jetzt ein Objekt vom Typ TWKZ erzeuge bekomme ich einen Laufzeitfehler, da NICHT der construktor von TBaseWKZ aufgerufen wird und deswegen das Objekt ActLstTmpUmsatzFuerWKZ nicht erzeigt wurde.
TBaseWKZ = class(TObject)
private ActLstTmpUmsatzFuerWKZ : TLstTmpUmsatzFuerWKZ; private constructor create; // --> Hier wird ActLstTmpUmsatzFuerWKZ erzeugt procedure xyz; end; TWkz = class(TBaseWKZ) procedure MachMal; end; Das klappt nur wenn ich auch einen construktor in TWkz habe welcher dann m.H. Inherited den construktor von TBaseWKZ aufruft. Warum ist das so? Ich dachte immer, das die Unterklasse den construktor der Oberklasse aufruft. Schließlich erbt die Unterklasse doch von der Oberklasse. |
Re: Frage zum erzeugen von Objekten
In TObject ist der Konstruktor nicht virtuell definiert! Du mußt das nachholen damit es auch mit der eigenen Klasse klappt.
Delphi-Quellcode:
TBaseWKZ = class(TObject)
private constructor create; virtual; end; constructor TBaseWKZ.create; begin inherited; ... end; |
Re: Frage zum erzeugen von Objekten
OK Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz