Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zirkuläre Unit-Referenz? (https://www.delphipraxis.net/144209-zirkulaere-unit-referenz.html)

Jamah 2. Dez 2009 14:59


Zirkuläre Unit-Referenz?
 
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

helgew 2. Dez 2009 15:04

Re: Zirkuläre Unit-Referenz?
 
Liste der Anhänge anzeigen (Anzahl: 1)
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.

himitsu 2. Dez 2009 15:08

Re: Zirkuläre Unit-Referenz?
 
die/eine Lösung ist auch dort zu finden > [dp]Zirkuläre Unit-Referenz[/dp]

helgew 2. Dez 2009 15:14

Re: Zirkuläre Unit-Referenz?
 
@ Jamah :

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

Jamah 2. Dez 2009 15:23

Re: Zirkuläre Unit-Referenz?
 
Danke. Manchmal sucht man sich nach so einfachen antworten zu tode, und dabi ists so logisch. :lol:
Danke;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:45 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