Thema: Delphi zugriff auf Unterklasse

Einzelnen Beitrag anzeigen

cetinbiryoldayim

Registriert seit: 6. Mai 2008
33 Beiträge
 
#1

zugriff auf Unterklasse

  Alt 6. Mai 2008, 16:37
Erstmal hallöchen,

so undzwar ich habe ein kleines Problem..

durch ein Buttonclick soll die Funktion der Steuerung ( enterRechteck() ) aufgerufen werden und diese soll dann die Funktion whereIamRechteck() der Unterklasse TRechteck aufrufen.

zuletzt sollte das Rechteck-Objekt gelöscht werden (.Destroy)



doch geht es nicht..

es meckert beim aufruf von

-> dieFigur.whereIamRechteck()

-> dieFigur.Destroy()



weiss jemand weiter? ich wäre für jegliche Hilfe dankbar



mfg

c3ytin



Delphi-Quellcode:

type

  TSteuerung = class;

  TFigur = class;



  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  strict private

    dieSteuerung: TSteuerung;

  public

    procedure whereIamGUI();

  end;



  TSteuerung = class

  strict private

    dieGUI: TForm1;

    [b]dieFigur: TFigur;[/b]

  strict protected

  public

    constructor CreateSteuerung(p_Form1: TForm1);

    procedure whereIamSteuerung();

    procedure enterRechteck();

  end;



  TFigur = class [b]abstract[/b]

  strict private

  strict protected

  public

    procedure askWhereIam();

  end;



  TRechteck = class(TFigur)

  strict private

  strict protected

[b] public[/b]

[b] procedure whereIamRechteck();[/b]

  end;





var

  Form1: TForm1;



implementation

{$R *.nfm}





// ########### ASSOZIATIONEN ###########



procedure TForm1.FormCreate(Sender: TObject);

begin

  dieSteuerung := TSteuerung.CreateSteuerung(self);

end;



constructor TSteuerung.CreateSteuerung(p_Form1: TForm1);

begin

  inherited Create;

  dieGUI := p_Form1;

end;





// ########### METHODEN ###########



procedure TForm1.whereIamGUI();

begin

  showmessage('GUI');

end;



procedure TSteuerung.whereIamSteuerung();

begin

  showmessage('Steuerung');

end;



procedure TRechteck.whereIamRechteck();

begin

  showmessage('Rechteck');

end;



procedure TSteuerung.enterRechteck();

begin

[b] dieFigur := TRechteck.Create();[/b]

[b] dieFigur.whereIamRechteck(); //FEHLER: undefinierter Bezeichner[/b]

[b] dieFigur.Destroy(); //FEHLER: undefinierter Bezeichner[/b]

end;





// ########### BUTTONS ############



procedure TForm1.Button1Click(Sender: TObject);

begin

  dieSteuerung.enterRechteck();

end;



end.
  Mit Zitat antworten Zitat