AGB  ·  Datenschutz  ·  Impressum  







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

Frage zum erzeugen von Objekten

Ein Thema von GroHae · begonnen am 21. Aug 2007 · letzter Beitrag vom 21. Aug 2007
Antwort Antwort
GroHae

Registriert seit: 19. Apr 2007
Ort: Nabburg
83 Beiträge
 
Delphi 2007 Enterprise
 
#1

Frage zum erzeugen von Objekten

  Alt 21. Aug 2007, 15:12
Hallo zusammen,

irgendwie sitze ich auf der Leitung.

Delphi-Quellcode:
   TBaseWKZ = class(TObject)
   private
      ActLstTmpUmsatzFuerWKZ : TLstTmpUmsatzFuerWKZ;
   private
      constructor create; // --> Hier wird ActLstTmpUmsatzFuerWKZ erzeugt
      procedure xyz;
   end;

   TWkz = class(TBaseWKZ)
      procedure MachMal;
   end;
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.
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.
Grüße

Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Frage zum erzeugen von Objekten

  Alt 21. Aug 2007, 15:15
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;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
GroHae

Registriert seit: 19. Apr 2007
Ort: Nabburg
83 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Frage zum erzeugen von Objekten

  Alt 21. Aug 2007, 15:28
OK Danke!
Grüße

Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:26 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