AGB  ·  Datenschutz  ·  Impressum  







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

Zirkulärer Bezug bei Units und Objekten

Ein Thema von KPBecker · begonnen am 30. Jan 2010 · letzter Beitrag vom 31. Jan 2010
 
KPBecker

Registriert seit: 1. Mär 2004
Ort: Mannheim
120 Beiträge
 
Delphi 2010 Architect
 
#1

Zirkulärer Bezug bei Units und Objekten

  Alt 30. Jan 2010, 11:57
Hallo, Delphi-Praktiker,
ich habe folgendes Problem, hier dargestellt am Beispiel eines Fischteichs:

Gegeben: Die Klassen TFisch, TFischListe und TTeich, jeweils in eigenen Units

Delphi-Quellcode:
unit UFisch

interface

type
  TFisch = class(TObject)
    Art: String;
    Gewicht: Integer;
  end;
Delphi-Quellcode:
unit UFischListe;

interface

uses Contnrs, UFisch;

type
  TFischListe = class(TObjectList)
    // Hier überschreibe ich noch die entsprechenden Methoden von TObjectList, dass alle Elemente vom Typ TFisch sind
  end;
Delphi-Quellcode:
unit UTeich;

interface

uses UFischListe;

type
  TTeich = class(TObject)
    Laenge: Integer;
    Breite: Integer;
    Hoehe: Integer;

    Fische: TFischListe;
  end;
Jetzt sollen meine Fische aber mehr können, zum Beispiel andere Fische fressen. Dafür muss ein Fisch aber irgendwie auf die anderen Fische im Teich zugreifen können. Wie kann ich das machen? Wenn ein Fisch alle anderen Fische im Teich kennen soll, muss er ja auf den Teich zugreifen können. Dann aber löse ich ärgerlicherweise einen zirkulären Bezug aus:
Delphi-Quellcode:
unit UFisch

interface

uses UTeich; //<-- Hier kommt es zu einem zirkulären Bezug!

type
  TFisch = class(TObject)
    Art: String;
    Gewicht: Integer;
    
    Teich: TTeich; //<-- Hier kommt es zu einem zirkulären Bezug!
  end;

Viele Grüße
Klaus-Peter
  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 05:21 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