Einzelnen Beitrag anzeigen

Ginko

Registriert seit: 30. Aug 2008
208 Beiträge
 
FreePascal / Lazarus
 
#1

Objekt mit 2 Objekten erstellen

  Alt 20. Okt 2009, 18:50
Hallo, ich habe ein Objekt erstellt, dass 2 Objekte (einmal TStringgrid und einmal TEdit) enthält.
Beim erstellen des Objektes sollen die beiden beinhaltetenden miterstellt werden.
Das erste wird auch ohne Probleme erstell, beim zweiten stürzt er jedoch mit einer Meldung einer
Zugriffsverletzung ab. Hier der Code(die Stelle wo der Fehler auftritt ist gekennzeichnet):

Delphi-Quellcode:

uses
  Classes, SysUtils, Variants, Math, Grids, Forms, Dialogs, Controls,
  StdCtrls, Windows, Messages, Graphics;

type
  TObjekt1 = class(TStringGrid)
  public
    constructor Create(AOwner: TComponent); override;
  end;

  TObjekt2 = class(TEdit)
  public
    constructor Create(AOwner: TComponent); override;
  end;

  TObjektMit2Objekten = class
  private
    Objekt1 : TObjekt1;
    Objekt2 : TObjekt2;
  public
    constructor Create(ZuBenutzendesFormular : TWinControl);
    destructor Destroy; override;
  end;


implementation

constructor TObjekt1.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Parent := TWinControl(AOwner);
  Left := 450;
  Top := 150;
  DefaultColWidth := 30;
  DefaultRowHeight := 30;
  FixedCols := 0;
  FixedRows := 0;
  BorderStyle := bsSingle;
  ColCount := 8;
  RowCount := 1;
  Width := 253;
  Height := 32;
end;


constructor TObjekt2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Parent := TWinControl(AOwner);
  Left := 100;
  Top := 150;
  Width := 50;
  Height := 32;
end;


constructor TObjektMit2Objekten.Create(ZuBenutzendesFormular : TWinControl);
begin
  inherited Create;
  Objekt1 := TObjekt1.Create(ZuBenutzendesFormular);
  Objekt2 := Objekt2.Create(ZuBenutzendesFormular); //FEHLER!!!??
end;

destructor TObjektMit2Objekten.destroy;
begin
  Objekt1.Free;
  Objekt2.Free;
  Inherited destroy;
end;
  Mit Zitat antworten Zitat