AGB  ·  Datenschutz  ·  Impressum  







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

zyklische referenzierung

Ein Thema von Jan · begonnen am 20. Jan 2006 · letzter Beitrag vom 20. Jan 2006
Antwort Antwort
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#1

zyklische referenzierung

  Alt 20. Jan 2006, 15:07
Hallo DPler!
Mal eine rein theoretische Frage zur Delphi Programmierung:

Ich habe einen Typ von dem ich mehrere Instanzen erstellen will.
Innerhalb der create Methode soll dem Objekt nun ein eindeutiger Identifikator erstellt werden. D.H. eine Integerzahl.
Dazu muss ich aber wissen welche Zahlen schon vergeben sind. Weiterhin soll dieser Identifikator dann in der 1. Unit in einem Array abgespeichert werden, damit ich nachher auf das Objekt über seinen Identifikator im Array zugreifen kann.
Ich will das ganze NICHT über Variablenübergabe an den Konstruktor machen, weil ich das gleiche Prinzip noch für aufwändigere Sachen nutzen muss.
Das Problem was sich ja jetzt stellt ist, dass ich in der einen Unit die Objekte erstelle und in der anderen den Identifikator erstelle. Ich müsste also in der ersten Unit einen Zähler mitzählen lassen und in der 2. Unit den Zähler in der ersten Unit auslesen. Dazu müsste ich aber in den Uses Klauseln die jeweilige andere Unit einbinden und würde damit dann einen fehler auf Grund von zyklischer Referenzierung bekommen.
Wie kann ich das umgehen?
Es würde ja reichen eine Variable zu haben, die ich global im gesamten Programm, also in jeder Unit, auslesen kann.
Muss ich dazu gleich eine ganze neue Unit erstellen?

Das Problem mit der Zyklusbildung ergibt sich auch, wenn ich jetzt zum Beispiel in der 1. Unit ein Objekt aus Unit 2 erstelle und dann in diesem Objekt eine Methode ausführe, die dann Variabeln in Unit 1 manipulieren soll.

Um das ganze mal bildhafter darzustellen:
Ich habe eine unit mit einem Formular.
Und ich habe eine Auto Unit.
Wenn ich dem Auto jetzt sage es soll beschleunigen, dann will ich, dass das Auto die Geschwindigkeitsanzeige auf dem Formular verändert.
Das ist zwar jetzt nicht so das tolle Beispiel, weil sich das auch anders lösen ließe, aber so in der Art möchte ich das gerne haben.

Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#2

Re: zyklische referenzierung

  Alt 20. Jan 2006, 15:23
Im Implementationteil auf die andere Unit verweisen.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Unit2, // hier wird Unit2 referenziert
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

end.

Delphi-Quellcode:
unit Unit2;

interface

implementation

uses unit1; // hier wird Unit1 referenziert

end.
Otto
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz