[ OTOK@ @ 24.05.2005. 00:29 ] @
Koristim Delphi ver. 7 i zanima dal' postoji razlika u velcini kompajliranog programa u Delphiu 5, 6 ili 7! Kao obican primjer uzet' cu napraviti novi Delphi project bez ikakvih promijena i dodatnog koda. Kod mene takav kompajliran program iznosi 360KB sto je za moju primjenu previse kad uzmem u obzir da se radi o obicnom programu sa samo jednim formom i nista vise...

Sta mi preporucujete, da uzmem neku stariju verziju (koju?) ili imate neki savjet kako smanjiti velcinu fajla?

Ovdje se podrazumijeva sve osim upotrebe packera ili runtime shitova...
[ Toyo @ 24.05.2005. 00:36 ] @
Nikada nisam koristio delphi 5 i 6, ali bi bilo jako glupo da ne postoji razlika i velicini fajla (ako povezes unit koji je menjan). Uglavnom svaki unit se prilogadjava novonastalim verzijama windoza (ko sto kaze axez), i ako promenis neku promenljivu sa Real na Extended-doci ce do promene.

Probaj da napravis kompajler za neki jezik, i bice ti sve jasnije.

Pozdrav!
[ bancika @ 24.05.2005. 00:38 ] @
ne verujem da ce Real->Extended da promeni velicinu EXE-a, samo ce trositi malo vise memorije. a fajlovi su isti (+-5%) u svim delphi-jima, koliko ja znam
[ OTOK@ @ 24.05.2005. 01:04 ] @
Citat:
bancika: a fajlovi su isti (+-5%) u svim delphi-jima, koliko ja znam


Jesil' siguran da je to tacno?
[ bancika @ 24.05.2005. 01:22 ] @
koristio sam delphi-je od verzije 4 pa nadalje i ne secam se da sam primetio neku razliku ni u jednom trenutku, znaci skoro da sam siguran :) uostalom, sta ti znaci tih 10ak kb? UPX-om ces taj fajl od 350kb da svedes na 150 u oba slucaja
[ reiser @ 24.05.2005. 02:54 ] @
Ako ti je velicina bas vazna, izbaci iz uses liste Forms, Dialogs i ostale unite i koristi sirove API-je za kreiranje prozora (CreateWindowEx itd) iil KOL/ACL replacement unite. Tako ces velicinu praznog projekta sa prozorom svesti na svega ~30kb max mislim ako koristis KOL/ACL ili ~20kb ako koristis API-je.
[ dragancesu @ 25.05.2005. 07:20 ] @
Gledao sam samo delfi 7, a u knjizi mastering 7 negde na pocetku pise da se borlandovi preogrameri trude da program i kod itd budu efikasniji, manji, brzi... Primer koji daju

Code:

program MiniSize;
   
uses
  Windows;
   
{$R *.RES}
   
var
  nSize: Integer;
  hFile: THandle;
  strSize: String;
   
begin
  // open the current file and read the size
  hFile := CreateFile (PChar (ParamStr (0)),
    0, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
  nSize := GetFileSize (hFile, nil);
  CloseHandle (hFile);
   
  // copy the size to a string and show it
  SetLength (strSize, 20);
  Str (nSize, strSize);
  MessageBox (0, PChar (strSize),
    'Mini Program', MB_OK);
end.


If you compile this program with Delphi 5, you obtain an executable size of 18,432 bytes. Delphi 6 reduces this size to only 15,360 bytes, trimming about 3 KB. In Delphi 7, the size is only slightly greater, at 15,872 bytes. By replacing the long string with a short string and modifying the code a little, you can trim the program further, to less than 10 KB. (You'll end up removing the string support routines and also the memory allocator, something possible only in programs using exclusively low-level calls.) You can find both versions in the source code of the example file.


Sad je samo pitanje koliko ti znace tih nekoliko kilobajta
[ Nemanja Avramović @ 25.05.2005. 21:34 ] @
da li imaju neki tzv. alternativni unit-i kojima se mogu lako kreirati prozori, tasteri na njima i sve redom :) a da se koristi "sirovi API" i da fajlovi budu manji, a da se ne izgubi previse vremena za kreiranje korisnickog interfejsa?
[ reiser @ 25.05.2005. 21:40 ] @
Zar KOL/ACL uniti ne zavrsavaju posao ?
[ bancika @ 25.05.2005. 23:06 ] @
..ali se time samo udaljavamo od glavne prednosti Delphi-ja. U principu ces najmanje fajlove dobiti ako kuckas u ASM. Ako hoces luksuz vizuelnog programiranja plati tih 300-ak kb, 'ebiga :)
[ reiser @ 25.05.2005. 23:27 ] @
Nisam siguran, ali verovatno postoji neki IDE koji koristi KOL unite, a u isto vreme omogucava RAD, tj brzi razvoj aplikacije...
[ OTOK@ @ 26.05.2005. 00:17 ] @
Citat:
bancika: ..ali se time samo udaljavamo od glavne prednosti Delphi-ja. U principu ces najmanje fajlove dobiti ako kuckas u ASM. Ako hoces luksuz vizuelnog programiranja plati tih 300-ak kb, 'ebiga :)


Hehee ma trenutno se i "zabavljam" sa masm-om...

btw. Hvala Vam na pomoci...
[ nikola.j @ 26.05.2005. 09:22 ] @
>
>

MCK