Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Fragen / Anregungen zur DP (https://www.delphipraxis.net/29-fragen-anregungen-zur-dp/)
-   -   20 Jahre in der DP (https://www.delphipraxis.net/213266-20-jahre-der-dp.html)

Codehunter 3. Jul 2023 06:23

AW: 20 Jahre in der DP
 
Das witzige ist: Ich nutze seinen EDA bis heute regelmäßig: https://assarbad.net/en/stuff Überhaupt, dieses NonVCL... Meine Güte, 40 kB für ein GUI-Programm! Wenn man heute eine völlig funktionslose Konsolenanwendung erstellt und alles an Uses raus wirft, ist man immer noch locker bei über 1 MB. Welches Delphi war das damals? 4, 5 oder 7 müsste es gewesen sein. Lustig auch die TODO.txt vom EDA: "This can probably be solved soon." - da stehts nun seit 20 Jahren :lol:

jaenicke 3. Jul 2023 08:56

AW: 20 Jahre in der DP
 
Wenn ich meine MTCL umbauen würde, so dass ich die Unit System.Classes nicht mehr brauche und auch die API-Funktionen direkt deklarieren würde, würden die Exen sicher auch sehr klein werden. Das hatte ich allerdings nicht vor.

Codehunter 3. Jul 2023 11:12

AW: 20 Jahre in der DP
 
Zitat:

Zitat von jaenicke (Beitrag 1524114)
Wenn ich meine MTCL umbauen würde, so dass ich die Unit System.Classes nicht mehr brauche und auch die API-Funktionen direkt deklarieren würde, würden die Exen sicher auch sehr klein werden. Das hatte ich allerdings nicht vor.

Stimmt hast recht, aber auf 40 kB komme ich mit einem D10.4 nicht mehr:
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

begin
end.
Ergebnis: 240 kB

Und da ist ja nun wirklich nicht allzu viel Funktion drin :wink:

Satyr 3. Jul 2023 11:16

AW: 20 Jahre in der DP
 
Zitat:

Zitat von Codehunter (Beitrag 1524107)
Das witzige ist: Ich nutze seinen EDA bis heute regelmäßig

Hab ich auch sehr lange genutzt. Wobei er ab und auch tolle VCL Kompos veröffentlicht hat, die einiges leichter gemacht haben.

Ich hatte mit Delphi 3 angefangen. Hat mir ein bekannter aus dem Sportverein besorgt, der zu der Zeit Informatik studiert hat.

Uwe Raabe 3. Jul 2023 11:22

AW: 20 Jahre in der DP
 
Also mit dem aktuellen Delphi 11.3 Patch 1 erzeugt der Win32 Compiler im Release eine Exe mit 46.080 Byte.

Uwe Raabe 3. Jul 2023 11:25

AW: 20 Jahre in der DP
 
Kompiliert man das noch mit Runtime-Packages (RTL) reduziert sich die Größe auf ganze 8.704 Byte.

Aber mal ehrlich: Das ist doch alles vollkommen weltfremd.

himitsu 3. Jul 2023 11:42

AW: 20 Jahre in der DP
 
Klar, aber dann mußt'e auch die BPLs mitgeben.


Dann kann man noch bei der erweiterten RTTI bissl was abschalten.

Delphi-Quellcode:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

https://docwiki.embarcadero.com/RADS...ctive_(Delphi)

Vermutlich könnte man sich auch mal wieder eine abgespeckte System und SysInit (PAS bzw. DCU) basteln.
Siehe DDDK (Delphi Driver Development Kit).

sowie
mit NonVCL arbeiten,
unnötige RTL/VCL-Resourcen löschen,
keine Exception-Behandlung (SysUtils weglassen),
PE-Realocations löschen (dann nervt Einen auch nicht mehr dieses blöde ASLR)
und natürlich noch mit EXE-Packern rumpfuschen.

Uwe Raabe 3. Jul 2023 12:21

AW: 20 Jahre in der DP
 
Zitat:

Zitat von himitsu (Beitrag 1524137)
Dann kann man noch bei der erweiterten RTTI bissl was abschalten.

Delphi-Quellcode:
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

Das betrifft aber nur den eigenen Code und nicht die vorcompilierten DCUs.

Aber im Wesentlichen sind die 40 KByte ja der initialization-Abschnitt der System.pas und den kann man nicht wirklich wegoptimieren.

Codehunter 3. Jul 2023 15:38

AW: 20 Jahre in der DP
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1524134)
Kompiliert man das noch mit Runtime-Packages (RTL) reduziert sich die Größe auf ganze 8.704 Byte.

Aber mal ehrlich: Das ist doch alles vollkommen weltfremd.

War NonVCL nicht immer schon eine Art Proof of Concept? Es ist auch nicht wichtig. Ist mir nur aufgefallen als ich die Downloadseite bei Assa gesehen habe.

himitsu 3. Jul 2023 16:13

AW: 20 Jahre in der DP
 
NonVCL ist der Wahre Weg.

Es ist eigentlich nur ein Konzept, bzw. der Name aus Sicht eines Delphianers, also nicht das VCL-Framework zu verwenden (welche aber intern auch diese WinAPI nutzt),
sondern direkt mit der WinAPI zu arbeiten.

Grundsätzlich gibt es da zwei Wege.
* die DialogAPI, also Form-Ressourcen zu erstellen und sie als "Dialog" zu laden
* oder manuell via CreateWindow die Form und jede Komponente zu erstellern.

Und zusätzlich bietet Windows noch andere APIs an
* TaskDialog (was wir "neuerdings" in der VCL auch nutzen)
* WinForms
* WPF
* das geile Ding, was die für's UAC benutzen, was aber hart im Explorer eingebaut wurde, anstatt in eine DLL :wall:

Oder Frameworks von anderen Anbietern
* GTK+
* Qt


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 Uhr.
Seite 4 von 6   « Erste     234 56      

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