AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

"übergeordnetes" Object ansprechen

Ein Thema von LuckyLucas · begonnen am 28. Okt 2005 · letzter Beitrag vom 30. Okt 2005
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: "übergeordnetes" Object ansprechen

  Alt 28. Okt 2005, 22:49
Die gegenseite Einbindung könntest du damit lösen das du die beiden Klassen in eine Unit implementierst. Dabei musst du nicht zwangsläufig auch die Methoden in der gleichen Unit haben. Du könntest für beide Klassen (die in verschiedenen Units sind) jeweils eine Basisklasse machen mit abstrakten Methoden und diese Methoden überschreibst du dann in den entsprechenden einzelnen Units:
Unitx:
Delphi-Quellcode:
[...]
type
  TBasisKlasse2 = class;

  TBasisKlasse1 = class(TObject)
  public
    RefToClass2: TBasisKlasse2;
    procedure MethodeVonKlasse1; abstract;
  end;

  TBasisKlasse2 = class(TObject)
  public
    RefToClass1: TBasisKlasse1;
    procedure MethodeVonKlasse2; abstract;
  end;
Unit Klasse1:
Delphi-Quellcode:
[...]
uses Unitx;
[...]
type
  TKlasse1 = class(TBasisKlasse1)
  public
    procedure MethodeVonKlasse1; override;
  end;
[...]
procedure TKlasse1.MethodeVonKlasse1;
begin
  if RefToClass2 <> nil then
    RefToClass2.MethodeVonKlasse2;
end;
Unit Klasse2:
Delphi-Quellcode:
[...]
uses Unitx;
[...]
type
  TKlasse2 = class(TBasisKlasse2)
  public
    procedure MethodeVonKlasse2; override;
  end;
[...]
procedure TKlasse2.MethodeVonKlasse1;
begin
  if RefToClass1 <> nil then
    RefToClass1.MethodeVonKlasse1;
end;
Durch das deklarieren der abstracten Methoden können also die einzelnen Klassen auch auf die Methoden der anderen Klassen zugreifen. Um die Übersichtlichkeit zu wahren kannst du natürlich auch die "unitX2" in 2 units aufspalten welche dann jeweils nur eine Basisklasse enthält.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 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