![]() |
Zirkuläre Unit
Hi,
bei mir wird immer folgender Fehler angezeigt: [Pascal Fataler Fehler] Console.pas(5): F2047 Zirkuläre Unit-Referenz auf 'Console' was soll ich tun??? Bitte um Hilfe |
Re: Hilfe!!
aloha...
willkommen in der dp :party: könntest du bitte denn titel deines themas anpassen, weil hilfe braucht hier fast jeder :lol: etwas quell text wäre glaub hilfreich ;) |
Re: Hilfe!!
Hallo, herzlich willkommen.
Bitte ändere den Titel in einen aussagekräftigen. Du bindest Units, wie die Meldung sagt, zirkulär ein. D.h. du hast Beispielsweise Unit1 und dort ganz oben in den "uses" einen Verweis auf Unit 2 und in dieser wiederum einen auf Unit 1. Schreibe die Einbindung der Units lieber in den implementation-Abschnitt:
Delphi-Quellcode:
implementation
uses Unit1, ... |
Re: Hilfe!!
Ganz einfach: Du hast eine zirkuläre Beziehung zwischen zwei Units, das heißt Unit A bindet Unit B ein, Unit B bindet Unit A ein. Der Compiler weiß in dem Fall nicht, welche Unit er zuerst parsen soll.
In der OH findest du einige Problemlösungen, zum Beispiel die beiden Units zusammenzulegen oder die Referenz in einer der beiden Units in den implementation-Teil zu verschieben. |
Re: Hilfe!!
danke erst einmal für die hilfe, aber meinst du mit OH???
Gruß Zita |
Re: Hilfe!!
Mauszeiger drüber und warten. Dann kommt die Akronym-Beschreibung.
OH ist die Onlinehilfe von Delphi, einfach deinen Fehler markieren und F1 drücken. |
Re: Zirkuläre Unit
Zitat:
Das passiert, wenn sich zwei, oder mehrere Units gegenseitig in der globalen (oberen) Uses Klausel referenzieren. Unit1:
Delphi-Quellcode:
Unit2:
unit Unit1;
interface uses Unit2; ...
Delphi-Quellcode:
unit Unit2;
interface uses Unit1; ... Lösungsbeispiel (wie von Matze):
Delphi-Quellcode:
unit Unit2;
interface implementation uses Unit1; // Lokale Uses Klausel end. |
Re: Zirkuläre Unit
Funktioniert nicht unbedingt.
Beispiel: Unit1 referenziert im Interface eine Typendeklaration/Variable aus Unit2, Unit2 macht das gleiche mit Unit1. Die zirkuläre Referenz lässt sich hier nicht auflösen, indem man die uses-Klausel in die implementation verschiebt, sondern nur durch Zusammenlegung der Units. |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: Zirkuläre Unit
Liste der Anhänge anzeigen (Anzahl: 1)
@3_of_8: Funktioniert doch, zumindest hier :mrgreen:
@Zita1989: Hättest Du das gemacht, was wir Dir geraten haben, wärst Du schon weiter. Ich hab das mal als Anhang abgehängt, um uns neue Threads zu dem Thema zu schenken... Übrigens, der Programmierstiel ist nicht ohne, da hagelts ja Warnungen... :roteyes: Und ein direkter Aufruf von TConsole.Irgendwas ist nicht erlaubt :warn: :wink: Ich hab da eine Variable MyConsole rein gemacht :zwinker: Grüßle! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 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 by Thomas Breitkreuz