AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi XE6 im Anmarsch

Ein Thema von Insider2004 · begonnen am 22. Feb 2014 · letzter Beitrag vom 23. Apr 2014
Antwort Antwort
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

AW: Delphi XE6 im Anmarsch

  Alt 10. Apr 2014, 10:17
Übrigens war die D5 RTL in Obj-Assembler geschrieben! Das ging ab, wie Rakete! In D6 hat Borland dann alles in .pas verpackt und wurde damit so langsam wie wir es heute kennen.
Keine Sorge, aufgrund massiven Einsatzes von (schlecht geschriebenen) Class-Helpern und RTTI wird das auch immer langsamer.
Ich weis nicht wie sich die Nutzerzahlen Delphi klassisch (Altlasten) und Delphi mobile verteilen.
Ich habe aber die Befürchtung das sich die massiven Änderungen in der RTL negativ auf die VCL basierte Entwicklung auswirken und hier den Code immer weiter aufblähen.
Smart linken scheint auch nicht mehr aktuell zu sein.
Schaltet man zum Beispiel benutzerdefiniert Stile ein, dann wird eine Handvoll Unit zusätzlich eingebunden.
Bei mir blähen diese den Quellcode um mehr als 20 mB auf.
Schaltet man dann die Style wieder ab (Windows) dann ändert sich die Größe erst wieder, wenn man alle Units händisch entfernt.

Gruß Peter
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.950 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi XE6 im Anmarsch

  Alt 10. Apr 2014, 10:50
Smart linken scheint auch nicht mehr aktuell zu sein.
Schaltet man zum Beispiel benutzerdefiniert Stile ein, dann wird eine Handvoll Unit zusätzlich eingebunden.
Bei mir blähen diese den Quellcode um mehr als 20 mB auf.
Schaltet man dann die Style wieder ab (Windows) dann ändert sich die Größe erst wieder, wenn man alle Units händisch entfernt.
Das war noch nie anders. Wenn eine Unit initialization Abschnitte oder ähnliches hat, reicht schon das reine Einbinden der Unit, damit der Quelltext wächst.
Der Linker kann nur Sachen auslassen, die er als nirgends verwendet erkennen kann.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi XE6 im Anmarsch

  Alt 10. Apr 2014, 11:37
Und Resourcen in eingebundenen Dateien kann der Linker sowieso nicht entfernen, da er nicht weiß, ob die Resourcen verwendet werden oder nicht.

Der Linker kann nur Funktionen/Klassen weglassen, wenn er erkennt, daß die nirgendwo verwendet werden.
Aber Dank der neuen RTTI und der Möglichkeit Klassen/Mehoden dynamisch aufzurufen, wird nun standardmäßig einfach alles eingebunden, egal ob genutzt oder nicht. (außer man deaktiviert es)
Früher betraf das nur published Methoden/Property/Felder, aber jetzt auch Public, Protected und sogar Private, welche man via RTTI standardmäßig erreichen kann.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Delphi XE6 im Anmarsch

  Alt 10. Apr 2014, 12:03
[...]aber jetzt auch Public, Protected und sogar Private, welche man via RTTI standardmäßig erreichen kann.
Aber natürlich. Sonst macht doch das gesamte System keinen Sinn. Delphi nimmt hierbei keine Sonderstellung ein, das ist ja bei C# und Java nicht anders.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#5

AW: Delphi XE6 im Anmarsch

  Alt 10. Apr 2014, 13:25
Man hättes es natürlich auch andersrum implementieren können, so wie beim {$M+} aka {$TYPEINFO ON} , wo man das nur für die Klassen aktiviert, bei denen es auch benötigt wird.

Und wozu macht das PRIVATE dann noch Sinn, wenn es standardmäßig urplötzlich wieder Public ist? (wobei man das nun wenigstens dazu nutzen kann, um sich z.B. in grausam programmierte VCL-Klassen zu hacken )


Also, mich stört nicht, dass sowas überhaupt geht, aber so einige der Standardvorgaben sind echt grauenvoll.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Apr 2014 um 13:31 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Delphi XE6 im Anmarsch

  Alt 10. Apr 2014, 14:03
Und wozu macht das PRIVATE dann noch Sinn, wenn es standardmäßig urplötzlich wieder Public ist?
Da vermischst Du aber mehrere Ebenen. "Private" ist und bleibt privat im Sinne der Objekt-Orientierung bzw. im Sinne der Vererbungshierarchie. Du hast jetzt mit der RTTI die Möglichkeit, ein stets mächtiger werdendes Werkzeug anzusetzen, um die Klassen auseinander zu nehmen. Mit "Gewalt" ist man von außen schon immer an private Felder heran gekommen, der Weg ist nur leichter geworden.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Delphi XE6 im Anmarsch

  Alt 10. Apr 2014, 14:12
Geht das nicht langsam am Thema vorbei?
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Delphi XE6 im Anmarsch

  Alt 11. Apr 2014, 08:01
Man hättes es natürlich auch andersrum implementieren können, so wie beim {$M+} aka {$TYPEINFO ON} , wo man das nur


Also, mich stört nicht, dass sowas überhaupt geht, aber so einige der Standardvorgaben sind echt grauenvoll.
Ohne die RTTI ist vieles schwieriger. Data-Binding, ORM, ... Sprich alles, bei dem man Informationen über eine Klasse braucht. Man kann jetzt natürlich darüber streiten, ob ein ORM Zugriff auf private Eigenschaften / Methoden haben muss, aber der Default sollte sein "Geht immer". Ein Default "Geht, wenn man kryptischen Schlüssel, den keiner kennt einbaut" dürfte schnell in einen Support-Horror münden..

Anders formuliert: Defaults sollten immer das Max abdecken, nie das min. Zumindest meine Meinung.

Hoffentlich ist bald der 16. damit wir dann auch wirklich über XE6 diskutieren können
  Mit Zitat antworten Zitat
Insider2004
(Gast)

n/a Beiträge
 
#9

AW: Delphi XE6 im Anmarsch

  Alt 16. Apr 2014, 13:24
Erste Erfahrungsberichte?
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Delphi XE6 im Anmarsch

  Alt 10. Apr 2014, 20:48
Früher betraf das nur published Methoden/Property/Felder, aber jetzt auch Public, Protected und sogar Private, welche man via RTTI standardmäßig erreichen kann.
Nicht ganz richtig, die Standardsichtbarkeit für Method RTTI ist public und published. Für private und protected Methoden bekommt man in aller Regel einen Compiler Hinweis, wenn diese nirgendwo benutzt werden. Also können sie in aller Regel auch nicht rausgelinked werden, weil man sie höchstwahrscheinlich irgendwo aufruft. Nur nicht benutzte nicht virtuelle public Methoden werden durch RTTI nicht rausgelinkt, da man sie ja über RTTI aufrufen kann.

Und auch das kann man ausschalten, wenn es einen stört, indem man die WEAKLINKRTTI Directive benutzt.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:31 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