![]() |
Leere Klasse von einer anderen abgeleitet
Hallo,
ich habe eine Klasse welche sich von einer anderen ableitet. Beim CONSTRUCTOR-Aufruf der Klasse übergebe ich verschiedene Werte welche in der BASIS-KLasse als Parameter definiert sind und beim debuggen ruft mir Delphi auch den Constructor der Basisklasse auf, ich habe jedoch das Problem, daß ichdauernd eine Exception (Access-voilation schreiben bei Adresse xxxxxxxx nicht möglicch) angezeigt bekomme, wenn ich versuche den Pointer eines Objects an eine Variable des gleichen Typs zu übergeben. Grüße Bigeddie |
Re: Leere Klasse von einer anderen abgeleitet
Es könnte hilfreich sein, wenn du mal den Quellcode postest.
|
Re: Leere Klasse von einer anderen abgeleitet
Dies ist der Code der abgeleiteten Klasse (bis jetzt)
Code:
und dies ist der Code der Basis-Klasse von TWaregroup
type
twaregroup = class(TBWData) public end; implementation { twaregroup }
Code:
Constructor TBWData.create(TheStructure: TBWTable; Path: String);
Var Buffer: TStringList; i: integer; DatLine: TDatLine; Begin FDataStructure := TheStructure; DatStrings := Tlist.Create; der Fehler tritt in der Zeile
Code:
auf und ich weis nicht warumm!!
FDataStructure := TheStructure;
|
Re: Leere Klasse von einer anderen abgeleitet
Zeig uns doch mal die Klassendefinition von TBWData.
Hast du beim Aufruf von twaregroup.create denn auch dein TBWTable initialisiert? |
Re: Leere Klasse von einer anderen abgeleitet
Code:
ist die Deklaration.
TBWData = Class(TObject)
Private FDataStructure: TBWTable; DatStrings: Tlist; FFilter: String; Procedure SetDataStructure(Const Value: TBWTable); Procedure SetFilter(Const Value: String); Published Property DataStructure: TBWTable Read FDataStructure Write SetDataStructure; Property Filter: String Read FFilter Write SetFilter; Function GetLine(Number: word): String; Function Count: Integer; Function GetFieldContent(FieldName: String; LineNumber: Word): String; Function GetFieldContentwhereFieldIncl(InclField: String; InclContent: String; FieldName: String): TStringlist; Overload; Function GetColumn(FieldName: String): TStringList; Function GetLinesWhereFieldContains(FieldName: String; ContString: String): Tlist; Public Function GetFieldContentwhereFieldIncl(InclField: Word; InclContent: String; Fieldnr: word): TStringlist; Overload; Constructor create(TheStructure: TBWTable; FieldList: TList); Overload; Constructor create(TheStructure: TBWTable; Path: String); Overload; TBWTable wird aus einem anderen Objekt bezogen und kann im Parameter TheStructure innerhalb des Constructors eingesehen werden. |
Re: Leere Klasse von einer anderen abgeleitet
Die Instanzen von TBWData arbeiten einwandfrei!
|
Re: Leere Klasse von einer anderen abgeleitet
Und wie sieht dein Constructor aus?
Gruß Daniel |
Re: Leere Klasse von einer anderen abgeleitet
ich rufe den Constructor von TWaregroup so auf wie ich den Constructor von TBWData aufrufe
Code:
beim Aufruf greift Delphi dann auf den COnstructor von TBWData zurück, da in der Klasse Waregroup noch keine Proceduren definiert sind und ich eigentlich auch den Constructor von TBWData verwenden wollte.
myWaregroup : TWaregroup;
.... mywaregroup.create(structur,Pathstring); |
Re: Leere Klasse von einer anderen abgeleitet
Das ist falsch, rufe
Delphi-Quellcode:
auf
mywaregroup := TWareGroup.create(structur,Pathstring)
|
Re: Leere Klasse von einer anderen abgeleitet
Ich weiß ja nicht ob du das in deinem Post einfach unterschlagen hast, aber es fehlt der Aufruf von inherited Create;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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