Avatar billede hebo Nybegynder
19. november 2002 - 10:00 Der er 9 kommentarer og
1 løsning

exefiler fylder mere i delphi 3 end i delphi 5

Er der nogen der ved hvorfor et program der hidtil blev kompileret i delphi 3 og fyldte 1.3 Mb fylder 1.8 Mb hvis jeg kompilerer det i delphi 5.
Og det er ikke bare det ene program der fylder mere, det er alle de programmer jeg har prøvet med.
Og sidst men ikke mindst. Hvordan undgår jeg at de kommer til at fylde mere ?
Avatar billede soreno Praktikant
19. november 2002 - 10:09 #1
Du kan evt. pakke exe filerne med upx:
http://upx.sourceforge.net/download/upx124w.zip
Avatar billede hebo Nybegynder
19. november 2002 - 10:31 #2
jeg må indrømme at det er et godt program soreno.
Men det er snyd at gøre det på den måde.
Jeg er ikke interesseret i at gøre sådan hver gang jeg har kompilet.
men ellers tak soreno
Avatar billede soreno Praktikant
19. november 2002 - 10:39 #3
Fordi exe filer fylder mindre er det ikke lig med at de er hurtigere. Nye compilere optimerer typisk ikke efter size men efter speed. Det er sikkert derfor din exe fil er så stor.
Avatar billede zimp Nybegynder
19. november 2002 - 15:06 #4
Det kunne også være fordi der i D5 er kommet mange flere funktioner i de komponenter du bruger. Der er simpelthen meget mere kode.
Avatar billede zimp Nybegynder
19. november 2002 - 15:07 #5
Forresten, din overskrift er lige omvendt dit spørgsmål ;)
Avatar billede cms Nybegynder
19. november 2002 - 20:18 #6
Du kan splitte det op i to problemstillinger:
Hvorfor?
og
Hvordan?

Hvorfor forskellen findes, er et spørgsmål om dels kompileren og dels den kode den skal tygge sig igennem (dels din egen, dels frameworket- her VCL).
Her kommer vi naturligt til "Hvordan?", da du gør klogt i at lede efter units der er ændrede, gjort overflødige osv. Ubrugte units der alligevel er medtaget i din "uses"-clause er en hyppig størrelsesfaktor.
Tilbage er intet andet at gøre, hvis du stadig ønsker at bruge Delphi-frameworket, end at lave småhacks, som fx at bruge Exe-packere som ASPack eller UPX. Du kan ikke sætte Delphi 5 til at benytte VCL 3.0 - desværre :/
Avatar billede doctorseb Nybegynder
19. november 2002 - 20:54 #7
Kig også efter inkluderede units du ikke bruger. Compileren vil normalt ekskludere dem, men ikke hvis de har kode "initialization" / "finalization"...
Avatar billede yousif Nybegynder
20. november 2002 - 21:18 #8
Du kan prøve at fjerne forms.pas fra uses.. så sparer du 300-400 kb..
Avatar billede argantork Nybegynder
27. november 2002 - 12:11 #9
eller bare skrive det hele uden brug af VCL :)
Avatar billede hebo Nybegynder
16. januar 2006 - 09:48 #10
ok den er vist ved at være lidt gammel den her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester