![]() |
AW: Neue Sprachfeatures in Delphi?
Zitat:
...:cat:... |
AW: Neue Sprachfeatures in Delphi?
Zitat:
Nein, der wäre auch einfach nur grottenschlecht. Merke: Inlines machen schlechten Code nicht besser. |
AW: Neue Sprachfeatures in Delphi?
Zitat:
Delphi-Quellcode:
Wenn du im FormCreate Meine eingibst. Poppt dann Meine.Utils(. etc) auf?
unit Meine.Utils;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private {Private-Deklarationen} public {Public-Deklarationen} end; function Test(AParam: Integer): Boolean; var Form1: TForm1; implementation {$R *.dfm} function Test(AParam: Integer): Boolean; begin Result := AParam = 1; end; procedure TForm1.FormCreate(Sender: TObject); begin Meine.Utils.Test( ... ) end; end. |
AW: Neue Sprachfeatures in Delphi?
Zitat:
Hatter erst vor wenigen Tagen einen Fall bei dem eine Scope-Sichtbare Variable den Fehler vermieten hätte (Reuse von Methoden-Globalen Variablen) |
AW: Neue Sprachfeatures in Delphi?
[etwas OT "Finden von Units"]
Bei meinem XE3 funktioniert das wie ein Blinklicht: geht - geht nicht - geht - geht nicht... Aber das liegt m.E. nicht an den Punkten. Die IDE kennt einfach mehrere Units nicht - auch nicht wenn man mit Ctrl auf eine Funktion o.ä. klickt oder eine Unit mit Ctrl-A sucht. Ich suche dann in der Hilfe, in welche Unit die betreffende Funktion wohl gehört. :-( @DieDolly Testen könnte ich Deinen Versuch erst heute Abend. [/etwas OT] |
AW: Neue Sprachfeatures in Delphi?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
...:cat:... |
AW: Neue Sprachfeatures in Delphi?
Mal zum eigentlichen Thema:
...:cat:... |
AW: Neue Sprachfeatures in Delphi?
Zitat:
|
AW: Neue Sprachfeatures in Delphi?
Zitat:
|
AW: Neue Sprachfeatures in Delphi?
Es gibt praktisch keine Alternative zwischen vor dem äußersten Codeblock oder irgendwo. Es ist in PL/SQL teils überraschend wenn mitten im Programmfluss ein DECLARE daherkommt. In Modula II waren die geschachtelten Module noch exzessiver, deswegen hat diese Form der Schachtelung sich nicht verbreitet.
Damit verbleibt die C Variante - überall erlaubt und per Konvention beschränkt. { Variablendaklaration /*blendet gleichnamige aus den Umschließenden Blöcken aus */ } /* Sichtbarkeit der Variable endet hier */ Damit klopfen die Global im Einzelfall aus dem Motiv. Damit man auf den Wert gespeichert in einer Variable deklariert und definiert in einem äußeren Block kann zurückgreifen ... Bis vor 15 Jahren kann man sagen, dass Objekte tragende Säulen einer Implementierung waren und Hilfsvariablen als solche benamt erkennbar waren und zumeist Fundamentaldatentypen. Das ändert sich zusehends. Die Verwendung von Interfaces usw... Jetzt stellt sich die Frage. Was außer einer Deklaration nahe der Verwendung bleibt als Alternative und wie kann ich mir in einer Sprache die eine Konstruktoraufruf voraussetzt im Regelfall bei der endgültigen Verwendung im Rahmen der Anwendung mir die Typenangabe ala TMyType myObj = new TMyType(); sparen und man landet bei var myObj = new TMyType; -- Mir var ist es nicht getan. Der Minimalfall ist an sich das Iteratorobjekt. -- Das Thema, da stimme ich zu, ist so ausbaufähig, dass selbst schön geschriebener Code unlesbar wird oder nurmehr für jene die wissen was der Code eigentlich bedeutet. Ala APL :-D als der Paradevertreter einer Write Only Language. -- Der Zug der Zeit tuckert bezüglich solcher Sprachfeatures selbst an ABAP nicht vorbei. statt: DATA: lv_vehicle TYPE string. lv_vehicle = 'Mercedes'. ab ABAP 7.4 DATA(lv_vehicle) = 'Mercedes'. ( ![]() In dem Artikel sind noch andere echte Gustostückerl. --- Ich bin auch mehr der Fan von Selektion, Sequenz und Iteration - das genügt und der Rest Syntactic Sugar. Delphi kann sich nicht ewig und drei Tage am Schulpascal orientieren. In den 80ern war Assembler notwendig und zum Teil noch interessant. Zu Zeiten als OO aufkam haben die Sprachdetails und deren Aufbau kaum mehr einen interessiert. Heute ca. 25 Jahre nach der Verbreitung von OO interessiert kaum mehr einen woher die Klassen kommen und von welchem Typ sie sind. Diese Entwicklung kann man seit Beginn der Programmierung in Assembler schön nachverfolgen. Bspw: Klammerung in Pascal im Falle der Selektion (IF). Früher: Ist regulärer Ausdruck - ist so. Heute: So a Schas, warum soviele Klammern. Du hast heute eine stärkere Trennung zwischen jenen die ein Class Library bauen (als eigenes Unternehmen). In den 90ern gab es noch Bibliothekare in einer programmierenden IT Organisation, wobei diese Jobs eigentlich aus den U.S. Großprojekten (Regierung) abstammen (1995 ein Projekt mit bis zu 2 Mio. Klassen). Ich kann mich no erinnern an eine Grenze bezüglich der Anzahl von Klassen die eine Klassenbibliothek namens ICLU hat überstiegen und dahinter hatte man schon die liebe Not mit der Verwendung. Ab dem Punkt verschwimmt die Würdigung einstiger Eleganz mit dem Empfinden von 'Bremsklotz'. Beim Delphi hat sich das Thema Inline-Deklaration schon bei den Interfaces und COM angekündigt. Ein handvoll Variablen in der Section vom Typ XYZVariant sind auch nichtssagend. Sobald Sprachen und Umgebungen erlauben eine Mio. Klassen zu handeln kommt das nächste Framework mit 10 Mio :-D. Ich kann mich noch an einen Anruf im Rahmen des Supports erinnern. Liegen die Daten beim Rudi?. Ja, gleich neben seinem COBOL Code. Na dann ist es eh recht. Weit von dem Zustand sind wir bspw. im Umfeld der Webentwicklung nicht mehr. Daten liegen beim Google, gehen wir auf ein Bier. Irgendwie werden wir sie schon bekommen. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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