AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung wann gibt es in Delphi einen NAMESPACE wie in c#

wann gibt es in Delphi einen NAMESPACE wie in c#

Ein Thema von luisk · begonnen am 22. Jun 2016 · letzter Beitrag vom 25. Jun 2016
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#1

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

  Alt 23. Jun 2016, 10:32
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

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

  Alt 23. Jun 2016, 15:01
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 uses BibliothekX schreiben und hab alles drin, was im Namespace ist und muss nicht öffzig BibliothekX.... units einbinden.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.812 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 23. Jun 2016, 15:04
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 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
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.199 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

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

  Alt 23. Jun 2016, 15:46
"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.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#5

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

  Alt 23. Jun 2016, 16:03
"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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#6

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

  Alt 23. Jun 2016, 16:26
"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

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.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.199 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

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

  Alt 23. Jun 2016, 16:38
Zitat:
STRG + Klick und co - nichts funktioniert wie gewohnt.
Klar. Das wäre eigentlich schon Killerkriterium.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.652 Beiträge
 
Delphi 12 Athens
 
#8

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

  Alt 24. Jun 2016, 08:44
Namespaces sind weitaus mehr. Bei einem Namespace kann ich 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 using VCL gesetzt habe. Das wäre dann ja echt Dependency Injection

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...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

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

  Alt 24. Jun 2016, 08:54
Wenn Namespaces also sonst nichts zu bieten haben...
Namespaces lösen quasi das Problem von zirkulären Referenzen. Eine der Sachen die mich in Delphi wirklich stören.
Und von Dependency Injection kann man auch nicht sprechen. Es werden beim benutzen eines Namespaces ja nur der Code eingebunden der im Projekt bzw. der Projektgruppe enthalten ist und der Code (in Form einer DLL) den man explizit zur Designzeit als Referenz dem Projekt hinzugefügt hat. Es kann also niemand irgendwo einfach eine Quelltextdatei mit einem Namespace ablegen der dann plötzlich in meinen Code einkompiliert wird. Sowas wie Suchpfade/Bibliothekspfade gibt es in C# nicht.

Ich würde dir aber empfehlen mal ein bisschen mit C# zu arbeiten. Du wirst dann die Vorteile von Namespaces schnell erkennen.
Namespaces sind jetzt nichts was die Welt verändert, aber sie haben soweit ich das abschätze keine Nachteile und sind definitiv besser und praktischer als "Unitnamen mit Punkten".
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

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

  Alt 24. Jun 2016, 09:05
Die Namespaces lösen dieses Problem nicht, sondern der generelle Aufbau des Compilers.

Bei C# kann quasi jeder kleine Fitzelkram in einer eigenen Datei stehen. Selbst Klassen kann ich über mehrere Dateien verteilen (partial class).

Das führt aber zum nächsten Problem, wie wo was gehört denn nun zusammen. Dafür sind diese Namespaces, denn damit bekommt man eine Struktur.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 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