AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Architektur / Projektstruktur / zirkuläre Referenz Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Architektur / Projektstruktur / zirkuläre Referenz Problem

Ein Thema von _BlackDragon_ · begonnen am 28. Dez 2011 · letzter Beitrag vom 29. Dez 2011
 
_BlackDragon_

Registriert seit: 4. Dez 2007
Ort: Eschweiler
64 Beiträge
 
#1

Architektur / Projektstruktur / zirkuläre Referenz Problem

  Alt 28. Dez 2011, 14:48
Delphi-Version: 2006
Hi Leute.

Suche nun schon seit Stunden für einen Lösungsansatz, leider bisher ohne wirklichen Erfolg, bzw. ohne einen Ansatz der mir so richtig gefällt.

Und zwar möchte ich eine Struktur aufbauen, welche eine noch undefinierte Anzahl an Klassen enthält. Diese würde ich gerne, der Übersicht wegen, in separate Units auslagern. Nun gibt es aber das Problem, das diese sich gegenseitig "kennen" sollen, wodurch aber das Problem von zirkulären Referenzen entstehen würde.

Als Beispiel ziehe mal folgendes Szenario heran. Es existiert eine Klasse TEngine und es existieren mehrere Managerklassen. Nun soll natürlich die Klasse TEngine auch auf die einzelnen Manager zugreifen können und diese sollen natürlich auch die Klasse TEngine kennen um darauf zugreifen zu können.

Delphi-Quellcode:
unit Engine;

interface

uses Manager1; // geht ja nicht

type
  TEngine = class(TObject)
  private
    FManager1: TManager1;
  protected
  public
    property Manager1: TManager1 read FManager1;
  end;
Delphi-Quellcode:
unit Manager1;

interface

uses Engine; // geht ja nicht

type
  TManager1 = class(TObject)
  private
    FEngine: TEngine;
  protected
  public
    constructor Create(e: TEngine);
  end;

...

implementation

TManager1.Create(e: TEngine);
begin
  FEngine := e;
end;
Freue mich auf eure Antworten und Vorschläge.

Greets
  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 16:08 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