Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Leere Klasse von einer anderen abgeleitet (https://www.delphipraxis.net/52529-leere-klasse-von-einer-anderen-abgeleitet.html)

Bigeddie 30. Aug 2005 13:53


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

DevilsCamp 30. Aug 2005 13:54

Re: Leere Klasse von einer anderen abgeleitet
 
Es könnte hilfreich sein, wenn du mal den Quellcode postest.

Bigeddie 30. Aug 2005 14:06

Re: Leere Klasse von einer anderen abgeleitet
 
Dies ist der Code der abgeleiteten Klasse (bis jetzt)
Code:
type
  twaregroup = class(TBWData)
  public

  end;
implementation

{ twaregroup }
und dies ist der Code der Basis-Klasse von 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:
FDataStructure := TheStructure;
auf und ich weis nicht warumm!!

Jelly 30. Aug 2005 14:16

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?

Bigeddie 30. Aug 2005 14:23

Re: Leere Klasse von einer anderen abgeleitet
 
Code:
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;
ist die Deklaration.

TBWTable wird aus einem anderen Objekt bezogen und kann im Parameter TheStructure innerhalb des Constructors eingesehen werden.

Bigeddie 30. Aug 2005 14:37

Re: Leere Klasse von einer anderen abgeleitet
 
Die Instanzen von TBWData arbeiten einwandfrei!

dfried 30. Aug 2005 14:37

Re: Leere Klasse von einer anderen abgeleitet
 
Und wie sieht dein Constructor aus?

Gruß
Daniel

Bigeddie 30. Aug 2005 14:44

Re: Leere Klasse von einer anderen abgeleitet
 
ich rufe den Constructor von TWaregroup so auf wie ich den Constructor von TBWData aufrufe
Code:
myWaregroup : TWaregroup;
....
mywaregroup.create(structur,Pathstring);
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.

Flocke 30. Aug 2005 15:04

Re: Leere Klasse von einer anderen abgeleitet
 
Das ist falsch, rufe
Delphi-Quellcode:
mywaregroup := TWareGroup.create(structur,Pathstring)
auf

tigerman33 30. Aug 2005 15:07

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.
Seite 1 von 5  1 23     Letzte »    

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