![]() |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
![]() Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
Zitat:
Code:
public class MyClass
{ // Methods static MyClass(); public MyClass(); [TMethod(4)] public static Type ClassInfo(@MetaMyClass Self); [TMethod(4)] public static string ClassName(@MetaMyClass Self); [TMethod(4)] public static bool ClassNameIs(@MetaMyClass Self, [In] string Name); [return: TAliasType(typeof(@TClass))] [TMethod(4)] public static @TClass ClassParent(@MetaMyClass Self); [return: TAliasType(typeof(@TClass))] public @TClass ClassType(); public void Dispatch(ref object Message); [TMethod(4)] public static void DoSomething(@MetaMyClass Self); public object FieldAddress([In] string AName); public void Free(); [TMethod(4)] public static bool InheritsFrom(@MetaMyClass Self, @TClass AClass); [TMethod(4)] public static MemberInfo MethodAddress(@MetaMyClass Self, [In] string AName); [TMethod(4)] public static string MethodName(@MetaMyClass Self, MemberInfo ACode); // Nested Types [ComVisible(false), CLSCompliant(false)] public class @MetaMyClass : @TClass { // Methods static @MetaMyClass(); public @MetaMyClass(); public virtual object @Create(); // Fields public static MyClass.@MetaMyClass @Instance; } } |
Re: Delphi für .NET <> Delphi Win32
Wenn ich nun mit Delphi eine .NET-Anwendung schriebe - sollte ich dann besser auf die Winforms oder auf VCL.NET setzen? Mit VCL.NET habe ich den Eindruck, dass sich zu einer Win32-Anwendung herzlich wenig ändert. Winforms scheint mir sehr anders zu sein...
[EDIT:] Habe mich mal etwas schlau gemacht über die VCL.NET. Das Konzept kommt für mich keinesfalls in Frage. Also entweder Winforms oder Win32...[/EDIT] Ich tendiere dazu, das Projekt noch als evtl. letztes Projekt mit Win32 zu machen - allerdings möchte ich natürlich RemObjects nicht erst für Delphi kaufen und danach wegschmeissen müssen. :gruebel: Da ist echt dann guter Rat teuer. Weiß jemand, welche VS-Version man braucht, um den Funktionsumfang einer Delphi 2006-Professional-Version ungefähr zu erhalten? Ich habe zumindest gesehen, dass man mit VS-Express bereits Datenbankanwendungen und so programmieren kann. Etwas, das ich unter den kostenlosen Delphi-Versionen stark vermisst habe. |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Nehmen wir als Vergleich mal Chrome. Namespaces und ein multi pass compiler machen dich unabhängig von Dateigrenzen. Willst du einen Typen in eine andere Datei packen, mache es einfach:
Delphi-Quellcode:
namespace SomeNamespace;
interface type Class1 = class property Value : Class2; end; implementation end;
Delphi-Quellcode:
namespace SomeNamespace;
interface type Class2 = class property Value : Class1; end; implementation end; Zitat:
Wieviel Arbeit gesteckt D.Net wurde nur damit du weiterhin "uses DeinNamespace.Unitname" tippen musst, während alle anderen Sprachen deine Assembly mit uses DeinNamespace nutzen können, ist doch wirklich erstaunlich... Zitat:
![]() Andere .Net-Komposter erkennen einfach wann etwas ein Typ sein _muss_ und wann der Bezeichner eine Variable/Property ist. Solche Dinge hat man in .Net alle paar Minuten, schlichtweg weil es dort normal ist, Property und Typ gleich zu benennen. Es ist schon sehr nervig ständig typen aliase oder den kompletten Pfad zum Typen tippen zu müssen. Oh und ich sage ja auch nicht, dass man nicht in den Himmel kommt, wenn man D.Net benutzt. Es ist einfach nur so, dass die meisten .Net Sprachen das haben, was D32 von anderen nativen Sprachen unterschied. Nur wurden sie weiterentwickelt und auf .Net getrimmt. Wie man sicherlich herauslesen kann, kann nur ein Delphi Fan so enttäuscht über D.Net sein. ;) Zitat:
|
Re: Delphi für .NET <> Delphi Win32
Also halten wir fest:
Delphi beherrscht Namespaces, macht diese aber nicht von Dateigrenzen unabhängig. Ich wäre als Projektleiter, deseen Existenz von Dingen wie Qualität, Wartbarkeit des erzeugten Codes abhängt, und der Vorhersagbarkeit von Kosten abhängt nicht so sicher, ob ich über die Form von Disziplin, die Delphi hier erzwingt, nicht doch eher glücklich sein sollte. Dasgleiche gilt für die Verwendung von Schlüsselwörtern als Bezeichner. Es ist die Aufgabe, moderner Compiler nicht alles zuzulassen, was machbar ist. Das dürfte C# im Vergleich zu C++ ganz deutlich zeigen. Ob die Verwendung von Schlüsselwörtern als Bezeichner nicht aus gutem Grund verweigert wird, nämlich um den Pascalguidelines folgend, Wert auf die Lesbarkeit des Codes zu legen, muss dann halt jeder Entscheider, der die Kosten seiner Entscheidung verantworten muss, selber entscheiden. Soweit das aufgrund der Sprachunabhängigkeit von .Net nowendig ist, kann Delphi aber sehr wohl Schlüsselwörter als Bezeichner verwenden. Die .Net Guidelines werden damit doch erfüllt. Zitat:
|
Re: Delphi für .NET <> Delphi Win32
Ach ja
Zitat:
Sind Konstrukte wie Zitat:
Der Compiler erkennt das Schlüsselwot doch nur weil es in jeder Zeile wiederholt wird (Aufbau der Zeile). Das spart weder Tipparbeit, noch macht es den Code lesbarer. Wenn es nicht jetzt schon in den entsprechenden Codeguidelines steht, so wird man in Kürze darin finden, das man dieses Feature nur verwenden sollte, wenn es sich nicht vermeiden lässt Ein recht hoher Preis, nur dafür begin als Methodennamen verwenden zu können. Grüße Peter |
Re: Delphi für .NET <> Delphi Win32
Sorry, aber was ist dein Punkt? Niemand sprach von Keywords.
Das DialogResult-Problem liegt schlichtweg darin, dass ein Form eine Property namens DialogResult hat, welche vom Typ DialogResult ist. Wenn man jetzt diesen setzen oder das Ergebnis eines Dialoges prüfen will kapiert D.Net nicht wann die Property und wann der Typ gemeint ist. DialogResult.OK ist aber nur auf den Typen des Enums anwendbar so dass es keine Verwirrung geben _sollte_. Da es ein sehr vertändlicher Name für propertx und Typ ist, sehe ich hier keinerlei Probleme aus deinem puristischen POV. ;) Mit deinem letzten Post packe ich dich mal in die Schublade "romantischer Die-hard", ohne die wäre die IT-Branche wohl um einiges langweiliger. (Nicht böse gemeint ;) ) |
Re: Delphi für .NET <> Delphi Win32
Zitat:
Zitat:
Zitat:
Entscheidend für die Kosten ist eben nicht, was kann man ein wenig schneller tippen, sondern was kann ein anderer später schneller lesen, und was kann ein Mensch schneller lernen zu lesen. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 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