Delphi-PRAXiS
Seite 2 von 9     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   wann gibt es in Delphi einen NAMESPACE wie in c# (https://www.delphipraxis.net/189542-wann-gibt-es-delphi-einen-namespace-wie-c.html)

Stevie 23. Jun 2016 16:01

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1340871)
NAMESPACES wie in c# gibt es nicht.

Es gibt aber die möglichkeit "Namespaceartik" seine Dateien zu benennen so das die Probleme wie früher "Bibliothek x hat eine unit abc.pas, Bibliothek y hat eine Unit mit gleichen Namen und unterschiedlichen inhalt" keine Problem mehr versacht, da die eine Unit als "BibliothekX.abc.pas" und die andere als "BibliothekY.abc.pas" im Dateisystem vorliegt und mit "BibliothekX.abc" ansprachbar ist.

Leider werfen alle immer "Punkte im Unitnamen" mit Namespaces durcheinander. Namespaces sind weitaus mehr. Bei einem Namespace kann ich
Delphi-Quellcode:
uses BibliothekX
schreiben und hab alles drin, was im Namespace ist und muss nicht öffzig BibliothekX.... units einbinden.

Sherlock 23. Jun 2016 16:04

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

Zitat von Stevie (Beitrag 1340905)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1340871)
NAMESPACES wie in c# gibt es nicht.

Es gibt aber die möglichkeit "Namespaceartik" seine Dateien zu benennen so das die Probleme wie früher "Bibliothek x hat eine unit abc.pas, Bibliothek y hat eine Unit mit gleichen Namen und unterschiedlichen inhalt" keine Problem mehr versacht, da die eine Unit als "BibliothekX.abc.pas" und die andere als "BibliothekY.abc.pas" im Dateisystem vorliegt und mit "BibliothekX.abc" ansprachbar ist.

Leider werfen alle immer "Punkte im Unitnamen" mit Namespaces durcheinander. Namespaces sind weitaus mehr. Bei einem Namespace kann ich
Delphi-Quellcode:
uses BibliothekX
schreiben und hab alles drin, was im Namespace ist und muss nicht öffzig BibliothekX.... units einbinden.

Könnte man das nicht beheben, indem man diese öffzig Units in eine packt?
*Weg renn*

Sherlock

Der schöne Günther 23. Jun 2016 16:46

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
"Unit" ist ja kurioserweise das, was in Pascal einem Namensraum noch am nächsten kommt (siehe [strict] private/protected). Spaß macht das aber keinen mehr.

Ich hatte mir mal überlegt ob man nicht tatsächlich so eine einzelne Unit "MyNamespace.pas" machen könnte die nur aus "{$Include MyNamespace.Class1.pas}" bis "Class99" besteht. Das habe ich aber noch nirgendwo gesehen, deshalb ist es wohl eine Schnapsidee.

Bernhard Geyer 23. Jun 2016 17:03

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1340908)
"Unit" ist ja kurioserweise das, was in Pascal einem Namensraum noch am nächsten kommt (siehe [strict] private/protected). Spaß macht das aber keinen mehr.

Ich hatte mir mal überlegt ob man nicht tatsächlich so eine einzelne Unit "MyNamespace.pas" machen könnte die nur aus "{$Include MyNamespace.Class1.pas}" bis "Class99" besteht. Das habe ich aber noch nirgendwo gesehen, deshalb ist es wohl eine Schnapsidee.

Ich glaube mit $Include hatten schon manch einer mal Generics eingebaut obwohl der Compiler generics nicht kann.

Aber schön ist was anderes. Genauso wie Namespaces in Delphi - sage wir mal so - "Optimierungsmöglichkeiten" besitzt.

Lemmy 23. Jun 2016 17:26

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1340908)
"Unit" ist ja kurioserweise das, was in Pascal einem Namensraum noch am nächsten kommt (siehe [strict] private/protected). Spaß macht das aber keinen mehr.

was leider auch nicht funktioniert - oder hast Du schon mal STRG + C in Verbindung mit strict private und strict protected getestet? Hat schon in Delphi 7 nicht funktioniert und funktioniert heute noch nicht :-(

Zitat:

Zitat von Der schöne Günther (Beitrag 1340908)
Ich hatte mir mal überlegt ob man nicht tatsächlich so eine einzelne Unit "MyNamespace.pas" machen könnte die nur aus "{$Include MyNamespace.Class1.pas}" bis "Class99" besteht. Das habe ich aber noch nirgendwo gesehen, deshalb ist es wohl eine Schnapsidee.

Schnapsidee ist relativ. Ich habe hier ein Projekt in dem vieles über ($include) gelöst ist. Wenn Du da debuggen musst und dich im Projekt nicht auskennst, drehst Du am Rad. STRG + Klick und co - nichts funktioniert wie gewohnt.

Der schöne Günther 23. Jun 2016 17:38

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

STRG + Klick und co - nichts funktioniert wie gewohnt.
Klar. Das wäre eigentlich schon Killerkriterium.

luisk 24. Jun 2016 06:35

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

Zitat von Bambini (Beitrag 1340853)
"nightly builds" :-D

Was soll eigentlich noch dieses Compiler-Gedöns ?
PHP läuft doch als Interpreter auch extrm schnell.
Es sollte doch kein Problem sein, dieses Konzept auf Applikationen anzuwenden.

Neutral General 24. Jun 2016 08:57

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

Zitat von luisk (Beitrag 1340926)
Zitat:

Zitat von Bambini (Beitrag 1340853)
"nightly builds" :-D

Was soll eigentlich noch dieses Compiler-Gedöns ?
PHP läuft doch als Interpreter auch extrm schnell.
Es sollte doch kein Problem sein, dieses Konzept auf Applikationen anzuwenden.

Wow, weiche Dämon! :shock:

Bambini 24. Jun 2016 09:06

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

Zitat von luisk (Beitrag 1340926)
Zitat:

Zitat von Bambini (Beitrag 1340853)
"nightly builds" :-D

Was soll eigentlich noch dieses Compiler-Gedöns ?
PHP läuft doch als Interpreter auch extrm schnell.
Es sollte doch kein Problem sein, dieses Konzept auf Applikationen anzuwenden.

Für ein "paar" Strings zu lesen und schreiben mag es schnell genug sein. Aber auch die Runtime von PHP ist compiliert;-)
Komplexe Anwendungen mit eigener UI's zu bauen erfordern schnellen Code. Warum sollte man diesen nicht schon bei der Erstellung erzeugen?

Uwe Raabe 24. Jun 2016 09:44

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Zitat:

Zitat von Stevie (Beitrag 1340905)
Namespaces sind weitaus mehr. Bei einem Namespace kann ich
Delphi-Quellcode:
uses BibliothekX
schreiben und hab alles drin, was im Namespace ist und muss nicht öffzig BibliothekX.... units einbinden.

Nee jetzt - ist das wirklich alles, was Namespaces bringen?

Da muss ich mich dann aber wirklich fragen, ob ich das überhaupt will, daß plötzlich eine neu auftauchende Unit irgendwo im Suchpfad, die mit einem "VCL." beginnt, meinen Scope infiltriert, den ich durch eine
Delphi-Quellcode:
using VCL
gesetzt habe. Das wäre dann ja echt Dependency Injection :twisted:

Ach ja: das Einfügen einer ganzen Gruppe von Units eines Namespaces (oder auch nicht Namespaces) bekomme über den ModelMaker Code Explorer auch mit wenigen Tastendrücken hin (z.B. VCL.Bind: <CTRL>-U, "vcl.bind", <Tab>, <PgDn>, <Alt>-S).

Wenn Namespaces also sonst nichts zu bieten haben...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 Uhr.
Seite 2 von 9     12 34     Letzte »    

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