![]() |
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:
Und die Unit auch im Uses definiert.
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; 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:
Dabei steht unter Uses Unit1. Könnt ih mir erklären, was ich falsch mache?
[DCC Fataler Fehler] Unit7.pas(7): F2047 Zirkuläre Unit-Referenz auf 'Unit7'
Danke |
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:
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.
unit unit2;
interface // hier nicht implementation uses unit1; |
Re: Zirkuläre Unit-Referenz?
die/eine Lösung ist auch dort zu finden > [dp]Zirkuläre Unit-Referenz[/dp]
|
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 |
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 21:05 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