Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage zur USES Klausel (https://www.delphipraxis.net/90273-frage-zur-uses-klausel.html)

dr. love 14. Apr 2007 14:06


Frage zur USES Klausel
 
beim programmieren habe ich bisher alle benötigten Units in der uses Klausel im interface-Abschnitt zusammengefasst. Nun habe ich aber gesehen, dass man die auch unter Implementation einbinden kann. Wo ist denn da der Unterschied?

mkinzler 14. Apr 2007 14:09

Re: Frage zur USES Klausel
 
Units, in denen Komponenten deklariert sind, welche auf der Form liegen oder klassen/Typen, welche im Interface verwendet werden mußt du auch im Interface einbinden. werden diese nur in der Implmenetierung verwendet reicht es auch sie dort einzubinden.

dr. love 14. Apr 2007 14:20

Re: Frage zur USES Klausel
 
mehr bedeutet das nicht? in einem meiner tollen bücher steht nämlich:

Zitat:

Wenn Sie eine Uses Klauselin den Interface-Teil einer Unit einfügen, dann sind die in der Uses-Klausel aufgeführten Units für die definierende Unit nicht sichtbar
Was heißt das denn nun wieder? :?

Jelly 14. Apr 2007 14:29

Re: Frage zur USES Klausel
 
Manchmal hast du Crosslinks, auch wenn man die bei sauberem Programmieren vermeiden soll und auch kann. Crosslinks ist, wenn Unit1 die Unit2 einbindet und umgekehrt. In dem Fall muss mindestens einmal unter Implementation eingebunden werden, sonst meckert der Compiler.

dr. love 14. Apr 2007 14:30

Re: Frage zur USES Klausel
 
ach das ist damit gemeint? warum schreibt man das bloß so unverständlich... :drunken:

Christian Seehase 14. Apr 2007 14:47

Re: Frage zur USES Klausel
 
Moin dr. love,

Zitat:

Zitat von Jelly
Manchmal hast du Crosslinks, auch wenn man die bei sauberem Programmieren vermeiden soll und auch kann. Crosslinks ist, wenn Unit1 die Unit2 einbindet und umgekehrt. In dem Fall muss mindestens einmal unter Implementation eingebunden werden, sonst meckert der Compiler.

oder um es anders zu formulieren:
Wenn ich eine Unit nicht zwingend im interface-Abschnitt brauche, binde ich sie im implementation-Abschnitt ein.


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