Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Überkreuzender Bezug 2er Units :( (https://www.delphipraxis.net/113411-ueberkreuzender-bezug-2er-units.html)

Spiderpig_GER_15 7. Mai 2008 15:22


Überkreuzender Bezug 2er Units :(
 
Hi,

Wollte meinen Quelltext ein bisschen ordnen und hab dann für meine Klasse TMyMario,
eine neue Unit angefangen.

In Meiner Main Unit hab ich die dann auch eingebunden, und alles hat wieder wunderbar funktioniert.

ABER, ich kann nur von meiner Main Unit auf meinen Mario zugreifen(Wenn ich einen Punkt mache erscheint dieses Menü) und wenn ich In Meiner TMyMario Unit "MyMario.*Punkt*" eingebe, kommt Fehler in Quelltext.

Also dachte ich einfach, Mal in der TMyMario Unit die Unit Main einbinden, aber dann kommt Überkreuzender Bezug 2er Units :(

Mach ich was falsch oder ist das normal?

MfG Spiderpig

mquadrat 7. Mai 2008 15:25

Re: Überkreuzender Bezug 2er Units :(
 
Das ist normal. Delphi kann keine Zyklen in den Uses-Anweisungen der Interfaces. Warum musst du von der TMyMario auf die Main-Unit zugreifen?

mkinzler 7. Mai 2008 15:25

Re: Überkreuzender Bezug 2er Units :(
 
Lagere Gemeinsames in eine Unit aus, welche du von beiden Units dann referenzierst oder binde einmal im Interface und einmal im Implementierungsteil ein

himitsu 7. Mai 2008 15:28

Re: Überkreuzender Bezug 2er Units :(
 
duhast bestimmt beide Units jeweils im Interface-Abschnitt eingebunden?

Binde doch die eine Unit (idealer Weise die Main) im Implementation-Abschnitt ein.

Delphi bindet die uinits in der Reinfolge in die EXE ein, in welcher sie im QuellCode eingebunden wrden, und zwar fängt Delphi mit der Abhänigen Unit an ... wenn du nun beide per Hier im Forum suchenKreuzverweis einbinden willst, weiß Delphi nicht mehr welche Reinfolge es nhmen soll, da die eine Unit von der Anderen abhängig ist und die Andere wiederum von der Ersten ...



Delphi-Quellcode:
Unit Main;

Interface
  Uses MyMario;

Implementation

End.
Delphi-Quellcode:
Unit MyMario;

Interface

Implementation
  Uses Main;

End.

Spiderpig_GER_15 7. Mai 2008 15:32

Re: Überkreuzender Bezug 2er Units :(
 
wie binde ich denn eine unit im Implementations Teil ein?

Spiderpig_GER_15 7. Mai 2008 15:33

Re: Überkreuzender Bezug 2er Units :(
 
mercì,

eine sekunde später kam's schon :stupid:

Ich versuchs dann mal, wenn nciht meld ich mich nochmal :mrgreen:


THX :cat:

grenzgaenger 7. Mai 2008 15:34

Re: Überkreuzender Bezug 2er Units :(
 
Zitat:

Zitat von mkinzler
Lagere Gemeinsames in eine Unit aus, welche du von beiden Units dann referenzierst oder binde einmal im Interface und einmal im Implementierungsteil ein

dann wird aber eine zusätzliche kopie der unit in die ECHSE eingebunden. das solltest du wenn möglich vermeiden. prüfe mal dein Objektdesign!

Spiderpig_GER_15 7. Mai 2008 15:35

Re: Überkreuzender Bezug 2er Units :(
 
JUHUUUU es klappt auch noch :!: :!: :!:

:dp:
:dp:
:dp:

mkinzler 7. Mai 2008 15:36

Re: Überkreuzender Bezug 2er Units :(
 
Also solle er einen Kreuzbezug der Auslagerung vorziehen?

sakura 7. Mai 2008 15:36

Re: Überkreuzender Bezug 2er Units :(
 
Zitat:

Zitat von grenzgaenger
dann wird aber eine zusätzliche kopie der unit in die ECHSE eingebunden.

Bitte was :shock: :gruebel:

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:56 Uhr.
Seite 1 von 2  1 2      

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