Delphi-PRAXiS
Seite 1 von 3  1 23      

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)

luisk 22. Jun 2016 19:30

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

Der schöne Günther 22. Jun 2016 20:01

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Nächsten Dienstag.

Nein ehrlich, das (inkl. einem Sichtbarkeitsmodifikator analog zu "package" (Java) / "internal" (C#) ist auch mein #1-Feature das ich mir für die Sprache Delphi wünschen würde. Aber insgesamt habe ich da eher wenig Hoffnung. Solche Basics stecken wahrscheinlich ganz tief im Compiler-Teil der seit 20 Jahren nicht mehr angefasst wurde :-D

MyRealName 22. Jun 2016 21:30

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

Zitat von Der schöne Günther (Beitrag 1340816)
Nächsten Dienstag.

Nein ehrlich, das (inkl. einem Sichtbarkeitsmodifikator analog zu "package" (Java) / "internal" (C#) ist auch mein #1-Feature das ich mir für die Sprache Delphi wünschen würde. Aber insgesamt habe ich da eher wenig Hoffnung. Solche Basics stecken wahrscheinlich ganz tief im Compiler-Teil der seit 20 Jahren nicht mehr angefasst wurde :-D

Ich muss dich enttäuschen, der Compiler ist von 2011, also gerade mal 5 Jahre alt. Der kam mit XE2 raus und wurde von grund auf neu geschrieben, um Frontend und Backend austauschbar zu machen. Deswegen kann man ob Pascal oder C++ oder damals Prism reinstecken und unten kommt eben Win32, win64, MacOS, iOS etc raus

Bambini 23. Jun 2016 10:07

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

Zitat von MyRealName (Beitrag 1340829)
Ich muss dich enttäuschen, der Compiler ist von 2011, also gerade mal 5 Jahre alt. Der kam mit XE2 raus und wurde von grund auf neu geschrieben, um Frontend und Backend austauschbar zu machen. Deswegen kann man ob Pascal oder C++ oder damals Prism reinstecken und unten kommt eben Win32, win64, MacOS, iOS etc raus

Soweit ich das gehört habe, gilt das nur für die NexGen Compiler für iOS und Android. Diese verwenden das LLVM Backend und erzeugen (bisher) nur Code für ARM CPU.
Win32, Win64, MacOS und auch für den iOS Simulator, sind das die "alten" Compiler. die NexGen Compiler kann man sehr gut an der Compiler-Geschwindigkeit erkennen. Sollte das in die Win32/64 Einzug halten, könnte beim Drücken der F9 Taste, bei großen Projektten, Stunden vergehen. Dann gibt es bei Delphi endlich auch "nightly builds" :-D

Mavarik 23. Jun 2016 10:16

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

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

Endlich?

Das würde eher bedeutet... Vergiss Delphi...

Neutral General 23. Jun 2016 10:18

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

Zitat von Mavarik (Beitrag 1340855)
Zitat:

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

Endlich?

Das würde eher bedeutet... Vergiss Delphi...

Sarkasmus.

Der schöne Günther 23. Jun 2016 10:29

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Schaut man sich den C++-Builder an, kann man hier seit 10.1 Berlin frei wählen ob man den "alten" oder den neuen LLVM-Compiler für Win32 haben möchte und frei hin- und her wechseln. Nur als Hinweis am Rande :-)

Stevie 23. Jun 2016 10:45

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

Zitat von MyRealName (Beitrag 1340829)
Ich muss dich enttäuschen, der Compiler ist von 2011, also gerade mal 5 Jahre alt. Der kam mit XE2 raus und wurde von grund auf neu geschrieben, um Frontend und Backend austauschbar zu machen. Deswegen kann man ob Pascal oder C++ oder damals Prism reinstecken und unten kommt eben Win32, win64, MacOS, iOS etc raus

Das stimmt leider vorne und hinten nicht.

madas 23. Jun 2016 10:56

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

Zitat von Stevie (Beitrag 1340859)
Das stimmt leider vorne und hinten nicht.

Doch eigentlich schon. :-D

Zitat:

Zitat von MyRealName (Beitrag 1340829)
Ich (vorne) ... raus (hinten).


Bernhard Geyer 23. Jun 2016 11:32

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
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.

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...

Neutral General 24. Jun 2016 09:54

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

Zitat von Uwe Raabe (Beitrag 1340937)
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".

Sir Rufo 24. Jun 2016 10:05

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
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.

mjustin 24. Jun 2016 10:08

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

Zitat von Uwe Raabe (Beitrag 1340937)
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:

Ich bin zwar kein .NET namespace Experte, aber in der Java Welt ist es völlig normal, genau diesen Effekt zu nutzen, um in einem bestimmten Kontext nicht funktionierende Klassen durch andere Implementierungen zu überschreiben. Die neue Klasse muss dazu nur weiter vorher im classpath erscheinen. Allerdings ist der classpath in Java auch besser kontrollierbar als der Suchpfad in Delphi. Klassen müssen ausserdem in einem Verzeichnis liegen, das mit dem package (das Pendant zum namespace) übereinstimmt, andernfalls wird der Compiler abbrechen (im Gegensatz zur.NET Welt, wo namespaces und Verzeichnisstrukturen nach Lust und Laune divergieren dürfen).

Gänzlich aus dem Nichts auftauchende Dateien würden mich allerdings programmiersprachenunabhängig etwas irritieren - höchste Zeit meine Anmeldepasswörter zu ändern :)

Uwe Raabe 24. Jun 2016 11:00

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

Zitat von mjustin (Beitrag 1340940)
Gänzlich aus dem Nichts auftauchende Dateien würden mich allerdings programmiersprachenunabhängig etwas irritieren - höchste Zeit meine Anmeldepasswörter zu ändern :)

Nicht unbedingt. Das kann auch einfach durch eine neuere Version einer Bibliothek geschehen oder durch einen Kollegen, der mal eben eine neue Unit mit RTL oder VCL prefixt oder sowas.

Ich verstehe, daß die tatsächlich eingebundenen Units bei C# durch einen anderen Mechanismus bestimmt werden, aber bei Delphi sind das nun mal die Uses-Anweisungen und die Suchpfade. Solange das so bleibt und keine andere Möglichkeit besteht, die tatsächlich eingebundenen Units (wir reden hier ja nicht von Assemblies oder Packages) zu beschränken, sehe ich hier eher Probleme mit Namespaces in Delphi.

Aber ich bin ja lernwillig und würde gerne über konkrete Fälle erfahren, in denen Namespaces signifikante Vorteile bringen würden. Ob die Vorteile oder die Nachteile (die dann ja auch von der tatsächlichen Implementation abhängen) überwiegen, kann dann ja jeder für sich entscheiden.

Stevie 24. Jun 2016 12:57

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

Zitat von Uwe Raabe (Beitrag 1340937)
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).

#IDEVomit

Zitat:

Zitat von Uwe Raabe (Beitrag 1340942)
Das kann auch einfach durch eine neuere Version einer Bibliothek geschehen oder durch einen Kollegen, der mal eben eine neue Unit mit RTL oder VCL prefixt oder sowas.

Deshalb ist ja auch bei richtiger Namespace Implementierung der Unitname wurscht. Ausschlaggebend ist, in welche Namespace ich den Krams packe, der in der neuen Unit steht. Und wenn ich nunmal uses VCL schreibe, dann muss ich mir im Klaren sein, dass ich mir alles reinziehe.

Memnarch 24. Jun 2016 13:21

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

Zitat von luisk (Beitrag 1340926)
[...]
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.

Auch eine Scriptsprache nutzt einen Compiler ;). Beschäftige dich bitte mit dem Topic "Was ist ein Compiler".

himitsu 24. Jun 2016 14:11

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Also wenn man es so sieht, dann gibt es doch NameSpaces?

Wie schon erwähnt sind nicht die Punkte in Unitnamen, auch wenn man die Entfernt mit dazu zählen kann.


Namespace anlegen, also
Delphi-Quellcode:
type MeinNamespace = record {oder class} .... end;
drumrum, um die Definition,
und im Code dann mit dem coolen WITH-DO arbeiten. :stupid:

Zitat:

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

Mit Include-Dateien kann man das (bedingt) auch im Pascal, aber ich würde das nicht wirklich in großem Maßstab einsetzen wollen.

Neutral General 24. Jun 2016 14:29

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

Zitat von Memnarch (Beitrag 1340971)
Auch eine Scriptsprache nutzt einen Compiler ;). Beschäftige dich bitte mit dem Topic "Was ist ein Compiler".

Nicht zwangsweise. Auch wenn das heutzutage größtenteils der Fall ist gibt es auch Skriptsprachen in denen der uncompilierte Quelltext direkt interpretiert wird.

luisk 24. Jun 2016 16:07

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

Zitat von Bambini (Beitrag 1340934)
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?

PHP ist bei Netzwerkzugriffen und Datenbankzugriffen so schnell wie Delphi
und ein Webbrowser ist seltsamerweise mit HTML und Javascript schneller als Delphi.
Delphi-FMX ist nun zwar schneller als unter VCL, aber für den Stand der Technik zu langsam.
Die scrollbaren Layout-Controls kommen bei größeren Objektmengen schnell an ihre Grenzen.
- Da muss man dann halt immer noch selber was zusammenbauen.

Was mit PHP, HTML und Javascript funktioniert sollte doch auch mit einer sauberen objektorientierten Programmiersprache funktionieren. Autos und Industrie 4.0 Objekte sollen sich demnächst in Echtzeit unterhalten
und die Programmiersysteme sind inzwischen schon mehr als grenzdebil.

Wollte gestern man Xamarin Visual Studio installieren. Als ich die angedeutete Installationszeit sah hab ich wieder abgebrochen.


Tja, hätte mich vor 20 Jahren einer gefragt, wo die Programmiersprachen 2016 stehen,
dann hätte ich mit nicht so ein Gebastel vorstellen können - aber was soll´s, wir werden ja auch älter und gebrechlicher.
Das einzige, was sich kontinuierlich weiterentwickelt ist die Zeit an sich.
(Einstein hat da ja was anderes herausgefunden :wink:)

luisk 24. Jun 2016 16:15

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
zum Thema Namespace:
Delphi arbeitet da ja im Prinzip mit überflüssigen und redundanten Informationen.
Man muss die Units ja eh zum Projekt hinzufügen un dann noch mal in jeder Unit die anderen bekanntgeben.
Wenn ich ein Formular in einem weiteren anspreche fragt mich der Editor doch ob er diese Unit
mit dem Formular zu den uses hinzufügen soll. Also kennt das System doch die erforderlichen Zusammenhänge.

Neutral General 24. Jun 2016 16:16

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

Zitat von luisk (Beitrag 1341003)
ein Webbrowser ist seltsamerweise mit HTML und Javascript schneller als Delphi.

Was? Da hätte ich aber gerne ein Beispiel/Beweis wenn du sowas in den Raum wirfst. :roll:
Und das FMX schneller als die VCL ist kann ich mir auch nicht vorstellen, aber da will ich mich jetzt nicht zu sehr aus dem Fenster lehnen.

Uwe Raabe 24. Jun 2016 16:26

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

Zitat von luisk (Beitrag 1341006)
z
Man muss die Units ja eh zum Projekt hinzufügen un dann noch mal in jeder Unit die anderen bekanntgeben.

Muss man nicht. Es genügt, wenn die Unit im Suchpfad liegt.

Etwas anderes ist es mit dem Formular-Editor. Der muss die Instanzen der Formulare und Datenmodule kennen, damit er die untereinander verlinken und eine eventuelle Vererbung regeln kann. Deswegen steht in der Uses-Anweisung der DPR bei Forms, Frames und Datamodules auch noch etwas mehr. Ein völlig unabhängiges Form oder Datenmodul, daß dynamisch erzeugt wird, muss nicht zum Projekt hinzugefügt werden.

Bernhard Geyer 24. Jun 2016 16:29

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

Zitat von Neutral General (Beitrag 1341007)
Zitat:

Zitat von luisk (Beitrag 1341003)
ein Webbrowser ist seltsamerweise mit HTML und Javascript schneller als Delphi.

Was? Da hätte ich aber gerne ein Beispiel/Beweis wenn du sowas in den Raum wirfst. :roll:
Und das FMX schneller als die VCL ist kann ich mir auch nicht vorstellen, aber da will ich mich jetzt nicht zu sehr aus dem Fenster lehnen.

Das wir vermutlich nur in einzelfällen der Fall sein. Genau die Einzelfälle in dem ein schlecht entwickeltes Assembler-Programm langsamer ist als ein optimiertes VB-Programm.
I.d.R. wird ein VCL-Programm (wenn man nichts falsch macht) schneller sein als die entsprechende Browser-Lösung.
Ich schaffe es aber auch das mein VCL-Programm um welten langsamer ist als eine Browser-Lösung (gilt aber auch umgekehrt).

Neutral General 24. Jun 2016 16:33

AW: wann gibt es in Delphi einen NAMESPACE wie in c#
 
Ja gut ich gehe davon aus dass man nicht Äpfel mit Birnen vergleicht.
Aber ich bezweifle dass ein Algorithmus bei gleicher/äquivalenter Implementierung im Webbrowser schneller ist als bei einem mit Delphi geschriebenen Programm.

luisk 24. Jun 2016 16:46

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

Zitat von Neutral General (Beitrag 1341007)
Zitat:

Zitat von luisk (Beitrag 1341003)
ein Webbrowser ist seltsamerweise mit HTML und Javascript schneller als Delphi.

Was? Da hätte ich aber gerne ein Beispiel/Beweis wenn du sowas in den Raum wirfst. :roll:
Und das FMX schneller als die VCL ist kann ich mir auch nicht vorstellen, aber da will ich mich jetzt nicht zu sehr aus dem Fenster lehnen.

Beweis Variante 1 Delphi:
Nimm eine Tabelle mit 3000 Datensätzen. Pro Datensatz nimmst Du ein Layout, in dem
du die weiteren Attribute visualisierst.
Und das alles legst Du in eine Scrollbox.
Das Ding bricht Dir zusammen.
Ich behelfe mir Folgendermaßen: Ich nehm ein einfaches Layout und einen separaten Scrollbar.
Im Layout habe ich dann nur so viele Satzlayouts, wie sichtbar sind. Das Scrollen mach ich dann selber.
Läuft dann butterweich und schnell.

Das ganze mit PHP/HTML und CSS - kein Problem.

Weiter: die Stringrids in Delphi in kommen nie und nimmer an die Performance von Tabellen in HTML ran.

Ich würde Embarcadero meine Unterstützung anbieten :wink: die preifen aber drauf :P

luisk 24. Jun 2016 16:54

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

Zitat von Uwe Raabe (Beitrag 1341008)

Muss man nicht. Es genügt, wenn die Unit im Suchpfad liegt.

Um den Überblick zu behalten strukturiere ich meine Projekt über die Baumstruktur der Projektverwaltung.
Damit ergeben sich sehr viele Pfade, also gibt es nicht nur einen Suchpfad.

Neutral General 24. Jun 2016 16:55

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

Zitat von luisk (Beitrag 1341011)
Beweis Variante 1 Delphi:
Nimm eine Tabelle mit 3000 Datensätzen. Pro Datensatz nimmst Du ein Layout, in dem
du die weiteren Attribute visualisierst.

Das ist so schwammig ausgedrückt dass ich damit leider nicht wirklich was anfangen kann.
Welche weiteren Attribute? Attribute von was?

Zitat:

Zitat von luisk (Beitrag 1341011)
[...]Weiter: die Stringrids in Delphi in kommen nie und nimmer an die Performance von Tabellen in HTML ran.

Ich würde Embarcadero meine Unterstützung anbieten :wink: die preifen aber drauf :P

Sorry, aber langsam bestätigt sich für mich dass du ne ganze Menge Müll redest. :roll:
Ich hab das Gefühl dass sie auf deine Unterstützung aus gutem Grund pfeifen :roll:

Bambini 24. Jun 2016 16:58

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

Zitat von luisk (Beitrag 1341003)
PHP ist bei Netzwerkzugriffen und Datenbankzugriffen so schnell wie Delphi

Die Treiber dazu liegen in der Runtime und nicht im PHP
Zitat:

Zitat von luisk (Beitrag 1341003)
und ein Webbrowser ist seltsamerweise mit HTML und Javascript schneller als Delphi.

Was von Delphi? Ein HTML/Javascript Grid im Webbrowser mit viel Daten und Grafik ist schneller als ein DevExpress Grid? :gruebel:

Uwe Raabe 24. Jun 2016 17:03

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

Zitat von luisk (Beitrag 1341012)
Zitat:

Zitat von Uwe Raabe (Beitrag 1341008)

Muss man nicht. Es genügt, wenn die Unit im Suchpfad liegt.

Um den Überblick zu behalten strukturiere ich meine Projekt über die Baumstruktur der Projektverwaltung.
Damit ergeben sich sehr viele Pfade, also gibt es nicht nur einen Suchpfad.

Mache ich auch. Mit Suchpfad meinte ich auch nicht nur einen Pfad im Dateisystem. Bei einigen Projekten kommt da schon eine stattliche Liste zusammen.

Andererseits, wenn man eine Unit direkt in das Projekt aufnimmt, braucht man dafür aber den Pfad in der Regel nicht mit in die Suchpfade aufnehmen. Die sind nur für die Dateien notwendig, die nicht explizit im Projekt hinterlegt sind.

Bernhard Geyer 24. Jun 2016 17:15

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

Zitat von Neutral General (Beitrag 1341013)
Zitat:

Zitat von luisk (Beitrag 1341011)
Beweis Variante 1 Delphi:
Nimm eine Tabelle mit 3000 Datensätzen. Pro Datensatz nimmst Du ein Layout, in dem
du die weiteren Attribute visualisierst.

Das ist so schwammig ausgedrückt dass ich damit leider nicht wirklich was anfangen kann.
Welche weiteren Attribute? Attribute von was?

Ich kann mir schon vorstellen was er macht. Er baut in Delphi ein Konstrukt zusammen das funktioniert aber alles ander als Schnell läuft (und wenn man die Tricke an dieser Stelle kenn auch sehr stark beschleunigt werden könnte). Für die Weblösung hat er schon eine optimierte Lösung im Einsatz. Dazu könne ich einen "Gegenbeweis" antreten.

In Delphi ein Tabelle ebenfalls mit 3000 Datensätzen und Visualisierungen von Feldern
In Delphi ist die Tabelle "in 0,Nix" aufgebaut. Im Browser kämpft sich ein IE durch und braucht merklich länger als die Delphi-Lösung und genehmigt sich auch viel mehr speicher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:48 Uhr.
Seite 1 von 3  1 23      

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