![]() |
Verschachtelte Klassen createn
Ich habe zwei Klassen, von der eine als Variable in der anderen genutzt wird.
Jetzt möchte ich im Create der oberen Klasse, die untere gleichzeitig entstehen lassen, also etwa so:
Delphi-Quellcode:
Wenn ich jetzt aber auf die Klasse zugreifen will, bekomme ich eine AV. Kann mir jemand sagen, wie ich das umgehen kann?
type
Aklasse = class(tobject) private bla: integer; sorted: boolean; public Constructor create(sorted: boolean); ... end; Oberklasse = class(tobject) private gesamt: integer; klasse: Aklasse; public constructor(Anzahl: integer; sorted: boolean); end; Implementation COnstructor aklasse.create(sorted: boolean); begin self.sorted:=sorted; end; Constructor Oberklasse.create(Anzahl: integer; sorted: boolean); begin Gesamt: anzahl; Oberklasse.klasse := Aklasse.create(sorted); end; Danke schonmal |
Re: Verschachtelte Klassen createn
es darf nicht
Delphi-Quellcode:
heißen sondern muss
Oberklasse.klasse := Aklasse.create(sorted);
Delphi-Quellcode:
heißen. Desweiteren ist es üblich das in Delphi klassen mit einem "T" beginnen. Das würde den ganzen source auch etwas übersichtilicher machen. Also anstelle von "oberklasse", "Toberklasse"
klasse := Aklasse.create(sorted);
|
Re: Verschachtelte Klassen createn
Muss man nicht noch inherited im Konstruktor aufrufen?
|
Re: Verschachtelte Klassen createn
Zitat:
Ist nicht sonderlich hübsch, aber in dem Fall sollte es keinen Unterschied machen... btw: Warum zum Geier schreibt ihr immer TObject als Base class rein? Das sieht doch *piep* aus. ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 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 by Thomas Breitkreuz