Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Programme ~ 1kb (https://www.delphipraxis.net/132115-delphi-programme-%7E-1kb.html)

p80286 7. Apr 2009 15:03

Re: Delphi Programme ~ 1kb
 
Hallo zusammen,

was ist "nonVCL" eigentlich? wenn ich mich richtig erinnere haben "nonVCL"-Programme durchaus auch eine graphische Oberfläche, es muß also nicht Console sein.
Zitat:

Zitat von jaenicke
Den Sprachumfang und Leistungsumfang kannst du aber genauso wenig vergleichen wie die Größe. ;-)
Alleine schon die visuellen Formulare brauchen eben einiges. Deshalb ist nonVCL eben deutlich kleiner.

Du kannst mit Delphi eben von Hause aus sehr viel mehr machen als mit Turbo Pascal, und auch mit jeder Version immer mehr. Irgendwoher muss diese Funktionalität schließlich kommen, das kostet Platz.

Aber ich muß Funktionen/Funktionalitäten die ich nicht benötige ja nicht mit mir herumschleppen. Wenn der Compiler mich freundlich darauf aufmerksam macht, daß eine Variable definiert wurde aber nicht genutzt wird, habe ich nichts dagegen. Warum werden dann Funktionen Proceduren mit gelinkt, die nicht gebraucht werden?

TP hat nur das mitgeschleppt was gebraucht wurde, MS-C war da wesentlich großzügiger, und der MS-Assembler hat auch genommen was er kriegen konnte.

Gruß
K-H

quendolineDD 7. Apr 2009 15:08

Re: Delphi Programme ~ 1kb
 
Non-VCL ist eben die strikte Untersagung der Nutzung der Komponenten aus der Visual Component Library, sowie einiger Units, welche unnötige Sachen kapseln. Somit wird fast ausschließlich auf Windows API-Funktionen zurückgegriffen. Sicher kannst du damit auch graphische Benutzeroberflächen gestalten.

Phoenix 7. Apr 2009 15:13

Re: Delphi Programme ~ 1kb
 
Zitat:

Zitat von p80286
was ist "nonVCL" eigentlich? wenn ich mich richtig erinnere haben "nonVCL"-Programme durchaus auch eine graphische Oberfläche, es muß also nicht Console sein.

non-VCL verzichtet lediglich, wie es der Name andeutet, auf die VCL. Das bedeutet, die ganzen Delphi-Eigenen Units wie z.B. Forms fehlen. Das heisst im Umkehrschluss: Willst Du ein Fenster, hast Du kein TForm. Du musst das Fenster also selber beim Betriebssystem anfordern, Buttons selber erzeugen und positionieren etc.

Die Programme werden deswegen kleiner, weil Du nur das aus der VCL 'nachprogrammierst', was Du auch wirklich konkret brauchst. Das Erkaufst Du Dir aber durch das Fehlen des 'Alles schon fertig' Baukastens. Also: Viel handarbeit -> kleine Echse. Wenig Handarbeit und die VCL nutzen die alles schon kann -> schneller fertig, aber große Echse :) Man muss halt immer abwägen.

himitsu 7. Apr 2009 15:29

Re: Delphi Programme ~ 1kb
 
Zitat:

Zitat von p80286
Aber ich muß Funktionen/Funktionalitäten die ich nicht benötige ja nicht mit mir herumschleppen. Wenn der Compiler mich freundlich darauf aufmerksam macht, daß eine Variable definiert wurde aber nicht genutzt wird, habe ich nichts dagegen. Warum werden dann Funktionen Proceduren mit gelinkt, die nicht gebraucht werden?

Es wird nich einfach eine ungenutzte Funktion mitgeschlappt ... der Compiler bindet nur Funktionen/Prozeduren/Typen/Konstanten/Variable mit ein, welche irgendwo in "genutztem" Code verwendet werden.

Und darunter zählen auch Dinge, welche im Initialisations-Abschnitt verwendet/geladen werden.

Allerdings werden Ressourcen ohne Prüfung reingeladen ... z.B. schleppt jede Delphi-App standardmäßig immer ihren eigenen Courorsatz(Mauszeiger) mit sich rum, selbst wenn man nur den von Windows nutzt.

Die VCL ist "nur" eine komfortablere, aber rießige Kapselung der WinAPI und einiger zusätzlicher Komponenten ... das kann man zu großen Teilen auch direkt mit der WinAPI erreichen.

mr_emre_d 7. Apr 2009 15:36

Re: Delphi Programme ~ 1kb
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von p80286
was ist "nonVCL" eigentlich?

> NonVCL Anwendungen sind jene, bei denen alle Windows per winAPI erstellt wurden! (und wo eben die VCL nicht verwendet wird xD; hättest auch googeln können ;))

Zitat:

Zitat von p80286
wenn ich mich richtig erinnere haben "nonVCL"-Programme durchaus auch eine graphische Oberfläche, es muß also nicht Console sein.

> Ja, natürlich haben sie eine Oberfläche :)

Schau dir mal Anhang and an :)
(Echse mit normalem Wnd (3kb))

EDIT:
Ich habe mir die einzelnen Sektions angeschaut und habe folgendes bemerkt:
Code:
Codecaves
-----------------------
CODE   -  139
DATA   -  1F6
BSS   -  000
.idata   -  0B6
.reloc   -  200 ( vollständig leer )
.rsrc   -  11B
--------------
sum   -  700 ( = 1792 bytes )

Ohne caves = 300 ( = 768 bytes )
Wenn ich die Caves noch wegbekomme...

MfG

lbccaleb 7. Apr 2009 17:39

Re: Delphi Programme ~ 1kb
 
Auch noch ne möglichkeit seine Programme ein wenig kleiner zu bekommen, ist möglich durch die Benutzung des Programms "Strip-Reloc"

Strip-Reloc

p80286 7. Apr 2009 17:55

Re: Delphi Programme ~ 1kb
 
Danke für die Nachhilfe, es ist gut aus berufenem Munde die eigenen Schlußfolgerungen bestätigt zu bekommen.

Zitat:

Zitat von himitsu
Die VCL ist "nur" eine komfortablere, aber rießige Kapselung der WinAPI und einiger zusätzlicher Komponenten ... das kann man zu großen Teilen auch direkt mit der WinAPI erreichen.

Wenn ich mal viel Zeit habe bastel ich mir eine "Schmalspur-VCL" (aber die gibt's besimmt auch schon irgendwo).
die restliche Zeit lebe ich weiterhin mit 400Kb-Monstern.

Gruß
K-H

himitsu 7. Apr 2009 18:00

Re: Delphi Programme ~ 1kb
 
Zitat:

Zitat von p80286
Wenn ich mal viel Zeit habe bastel ich mir eine "Schmalspur-VCL" (aber die gibt's besimmt auch schon irgendwo).
die restliche Zeit lebe ich weiterhin mit 400Kb-Monstern.

so halb fertig ... keine Zeit ... gibt Wichtigeres :oops:

turboPASCAL 9. Apr 2009 13:57

Re: Delphi Programme ~ 1kb
 
So, habe mal ein wenig etwas daran herum gebastelt und ein Statictext sowie einen Button eingebaut.

Netter weise kommt nun mein Virenscanner in fahrt. ;)

Nu ist das Ding doch schon auf 5kb gewachsen...

Was ich eigentlich fragen wollte, wo bekomme ich FillChar (bzw. (Rtl)FillMemory) her ? :gruebel:

Mithrandir 9. Apr 2009 14:03

Re: Delphi Programme ~ 1kb
 
Zitat:

Zitat von p80286
Wenn ich mal viel Zeit habe bastel ich mir eine "Schmalspur-VCL" (aber die gibt's besimmt auch schon irgendwo).

Key Objects Library


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz