![]() |
Unit Verbindungen
Hallo
Ich habe eine Frage bezüglich der Uses Klassen! Wenn ich in der Unit1(uses Unit2) eine Funktion aus der Unit2 brauche ..und in der Unit2(uses Unit1) den Pfad einer Datei aus Unit1 brauche bekommt man einen Fehler!! Kann man das ganze umgehen oder muss ich meine komplettes Programm umbauen?? |
Re: Unit Verbindungen
die uses im interface oder in der implementation?
Hast du vor der datei unit1. (oder form1.) stehen? |
Re: Unit Verbindungen
Uses im Interface!!
Wenn dann hätte ich Unit1 vor der Datei stehen! |
Re: Unit Verbindungen
lösch die uses mal raus (nur unit1/unit2) und füge sie mit Alt+F11 wieder hinzu
|
Re: Unit Verbindungen
Wuste garnicht das das mit alt F11 geht!
Thx, der Fehler ist erstmal behoben..... Er hat die Uses jetzt im Implementation Teil |
Re: Unit Verbindungen
bitte..
zur info: die uses im interface verbinden nur mit dcu 's wie z.B. Math die uses im implementation teil verbinden mit uncompillierten units also pas-dateien :mrgreen: |
Re: Unit Verbindungen
Zitat:
Haste da mal ne Quelle für? |
Re: Unit Verbindungen
Naja, schon irgendwie sehr stark vereinfacht, diese Aussage ;)
Beide uses-Anweisungen kompilieren natürlich .pas-Dateien ganz frisch, wenn man "Build All" macht (und die .pas überhaupt verfügbar ist). Und beim reinen Kompilieren wird auch nur eine .dcu verwendet, solange die .pas nicht neuer ist. Gab's übrigens gerade erst ![]() |
Re: Unit Verbindungen
Hallo,
hm ? Was hat denn uses mit dcu/pas zu tun ? Das uses zeigt dem Compiler erst mal an, wo bestimmte Funktionen stehen, die nicht in der aktuellen Unit stehen. Interface-Teil darauf können andere units (durch Einbinden in der Interface/Implementation) zugreifen Implementation interne Funktionen der jeweiligen Unit (quasi privat) Findet der Compiler eine pas und eine dcu und ist die dcu älter, wird eine neue dcu erzeugt (make), findet er keine pas und ist die dcu im korrekten Format , wird sie benutzt (fast jede Delphi-Version hat ein eigenes dcu-Format). Das Problem der ganzen Interface/Implementation Sache ist, dass eine Unit1/Unit2 nicht gegensichtig im Interface per Uses stehen können (zirkuläre Reference). Hier hilft wie oben gelöst, die eine uses in den Implementation-Teuil zu packen. Geht das nicht, muss eine dritte Unit erzeugt werden, die die gemeinsam benutzten Sachen enthält. Das ist aber manchmal nicht möglich, gerade bei komplexeren Objekten ;( Heiko |
Re: Unit Verbindungen
also "vorgefertigte" dcu 's gehen bei mir nur im interface und "noch zu kompillierende" units gehen bei mir nur im implementation teil, kann sein dass ich was falsch mache, wollte jetzt niemanden in die irre führen :coder2:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 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