|
| Størrelse på Delphi runtime Fra : Klaus Jorgensen |
Dato : 02-04-05 21:05 |
|
Selv når man skriver et lille-bitte-lille program, fylder det næsten
400kb.
Når man ser små utilities på nettet, er der mange der kun fylder en
tiendedel.
Er der noget man kan slå fra så størrelsen mindskes mærkbart?
/klaus
| |
Benny Nielsen (03-04-2005)
| Kommentar Fra : Benny Nielsen |
Dato : 03-04-05 09:15 |
|
> Når man ser små utilities på nettet, er der mange der kun fylder en
> tiendedel.
> Er der noget man kan slå fra så størrelsen mindskes mærkbart?
>
> /klaus
>
Det er VCL bibliotekerne (deklareret i sektionen uses) som forstørrer din
exe fil når du kompilerer den. De små utilities på nettet er som regel
skrevet i Assembler eller C med brug af API-kald, og desuden er tit
komprimeret med en "packer" a la UPX ...
Hvis du vil vil mindske størrelsen af dit program i Delphi skal du vælge VCL
fra og bruge "native"-windows funktioner (API). Ulæmperne er at du ikke kan
bruge forms.designeren og tit også nogle komponenter som afhænger af VCL.
Men fordelen er at du bliver god til at programmere og tænke selvstandigt ;)
Hilsen Benny
| |
Niels Martin Hansen (03-04-2005)
| Kommentar Fra : Niels Martin Hansen |
Dato : 03-04-05 09:55 |
|
Benny Nielsen wrote:
> Hvis du vil vil mindske størrelsen af dit program i Delphi skal du vælge VCL
> fra og bruge "native"-windows funktioner (API). Ulæmperne er at du ikke kan
> bruge forms.designeren og tit også nogle komponenter som afhænger af VCL.
> Men fordelen er at du bliver god til at programmere og tænke selvstandigt ;)
Nu har jeg ingen førstehånderfaring, men jeg mener også at Delphi .NET
(dvs. version 8 og 2005) genererer temmelig små programmer. De afhænger
kun af .NET runtimen, som så desværre er temmelig stor.
/Niels
| |
Uffe Kousgaard (03-04-2005)
| Kommentar Fra : Uffe Kousgaard |
Dato : 03-04-05 10:54 |
|
"Niels Martin Hansen" <nielsm@diku.dk> wrote in message
news:d2oaqn$24uh$2@munin.diku.dk...
>
> Nu har jeg ingen førstehånderfaring, men jeg mener også at Delphi .NET
> (dvs. version 8 og 2005) genererer temmelig små programmer. De afhænger
> kun af .NET runtimen, som så desværre er temmelig stor.
Rigtigt, hvis man laver winforms applikationer. VCL.NET applikationer er
stadig "store". Begge afhænger dog af .NET runtime.
En blank winforms applikation fylder 30 Kb. Tilføj en showmessage() og
dermed dialogs unit fra VCL og størrelsen ryger op på 1.3 Mb.
I stedet for showmessage skal man anvende en .NET klasse til at vise
beskeder med: MessageBox.Show(....) og applikationen holder sig på de 30 Kb.
En blank VCL.NET applikation fylder samme 1.3 Mb, men giver også adgang til
et langt mere righoldigt udvalg af componenter i delphi, som i stort omfang
er bagudkompatibel med VCL (win32) og måske også er mere fremtidssikker, da
winforms er planlagt til at blive skiftet ud med noget andet i senere
udgaver af windows / .NET.
hilsen
Uffe
| |
Benny Nielsen (03-04-2005)
| Kommentar Fra : Benny Nielsen |
Dato : 03-04-05 11:13 |
|
> Nu har jeg ingen førstehånderfaring, men jeg mener også at Delphi .NET
> (dvs. version 8 og 2005) genererer temmelig små programmer. De afhænger
> kun af .NET runtimen, som så desværre er temmelig stor.
>
> /Niels
Det er ganske rigtigt, så læge at det handler om Delphi for .Net, fordi
Delphi 2005 er sammensat af Borland C# Builder, Delphi for Microsoft Windows
(win32) og Delphi for .NET´. Hvis man vælger den sidste til at skrive et
program med GUI, så er der 2 muligheder: at bruge VCL forms eller Windows
forms. Jeg har brugt begge metoder til at lave en simpel application for at
illustrere forskellen:
Exe-st'rrelser:
Windows Forms for .NET : 24,5kb
VCL forms for .NET : 1,20 MB (!!)
VCL for windows (32 bit) : 365 kb.
en tilsvarende application i C# (Windows Forms) kompileres til en exe på 4
kb, så det er nok den bedste løsning, hvis man går efter mindre størrelse.
/Benny
| |
Klaus Jorgensen (03-04-2005)
| Kommentar Fra : Klaus Jorgensen |
Dato : 03-04-05 11:40 |
|
"Benny Nielsen" <benny@aaa.dk> wrote in message
news:424fa61e$0$22680$ba624c82@nntp04.dk.telia.net...
>> Når man ser små utilities på nettet, er der mange der kun fylder en
>> tiendedel.
>
>> Er der noget man kan slå fra så størrelsen mindskes mærkbart?
>>
>
> Hvis du vil vil mindske størrelsen af dit program i Delphi skal du
> vælge VCL fra og bruge "native"-windows funktioner (API). Ulæmperne
> er at du ikke kan bruge forms.designeren og tit også nogle
> komponenter som afhænger af VCL.
> Men fordelen er at du bliver god til at programmere og tænke
> selvstandigt ;)
>
Takker - er nu på 15kb.
/klaus
| |
|
|