AGB  ·  Datenschutz  ·  Impressum  







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

Zirkuläre Unit-Referenz?

Ein Thema von Jamah · begonnen am 2. Dez 2009 · letzter Beitrag vom 2. Dez 2009
Antwort Antwort
Jamah

Registriert seit: 2. Dez 2009
Ort: Nordhorn
74 Beiträge
 
RAD-Studio 2010 Arc
 
#1

Zirkuläre Unit-Referenz?

  Alt 2. Dez 2009, 15:59
Hallo.
Ich hab da ein kleines Problem. Ich habe für den Anfang ein einfaches Tool gschreiben, das einige Kleinigkeiten brechnen soll.
So nun berechnet es in der Haupt-Unit im form3 einige Dinge. Für eine andere Berechnung benötige ich nun eine neue Form.
Also folgendes gemacht:
Delphi-Quellcode:
procedure TForm3.MainMenu1Click(Sender: TObject);
Var
  Form : TForm7;
begin
  Form:= Tform7.Create(Self);
  try
    if Form.ShowModal = mrOK then
    begin

    end;
  finally
    Form.Free;
  end;
end;
Und die Unit auch im Uses definiert.
Jetzt die form fertig gestellt und implementiert.
Jtzt soll die Form einen Wert aus Form3 aus der Unit 1 einlesen, allerdings muss ich dann ja in der 2. Unit wieder auf die erste verweisn (unter Uses) und dann streicht der mit die Zeile unter Uses mit dem folgenden Fehler an:
Code:
[DCC Fataler Fehler] Unit7.pas(7): F2047 Zirkuläre Unit-Referenz auf 'Unit7'
Dabei steht unter Uses Unit1. Könnt ih mir erklären, was ich falsch mache?
Danke
  Mit Zitat antworten Zitat
helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#2

Re: Zirkuläre Unit-Referenz?

  Alt 2. Dez 2009, 16:04
wenn durch die uses-Einträge eine Schleife entsteht, nennt sich das circular reference.



Beispiel

Delphi-Quellcode:
unit Unit1;

interface
uses
  Unit2;

---

Unit Unit2;

interface
uses
  unit1;

Man kann dies manchmal beheben, indem man die zyklisch verwendete unit in den implementation-Teil aufnimmt:

Delphi-Quellcode:
unit unit2;

interface
// hier nicht


implementation
uses unit1;
Ich hab da noch was für dich... Im Anhang findest du ein simples tool zum Auffinden von circular references, ich hatte einmal in einem Projekt mit ~50 unit eine circular reference über 4 units hinweg, da geht es nicht mehr ohne.
Angehängte Dateien
Dateityp: rar refdebug_115.rar (167,4 KB, 62x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#3

Re: Zirkuläre Unit-Referenz?

  Alt 2. Dez 2009, 16:08
die/eine Lösung ist auch dort zu finden > Hier im Forum suchenZirkuläre Unit-Referenz
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#4

Re: Zirkuläre Unit-Referenz?

  Alt 2. Dez 2009, 16:14
@ Jamah :

Achja und hiermit heiße ich dich zunächst mal herzlich in unserem Forum willkommen! Naja und die Suchfunktion kennst ja nun auch
  Mit Zitat antworten Zitat
Jamah

Registriert seit: 2. Dez 2009
Ort: Nordhorn
74 Beiträge
 
RAD-Studio 2010 Arc
 
#5

Re: Zirkuläre Unit-Referenz?

  Alt 2. Dez 2009, 16:23
Danke. Manchmal sucht man sich nach so einfachen antworten zu tode, und dabi ists so logisch.
Danke
  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 00:00 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