[fpc-devel] don't you think it's time toupdatedelphimodecompatibility? - IDispatch, implements

Florian Klaempfl F.Klaempfl at gmx.de
Sat May 28 23:20:19 CEST 2005


Matthias Hryniszak wrote:

> 
> ----- Original Message ----- From: "Tomas Hajny" <XHajT03 at mbox.vol.cz>
> To: "FPC developers' list" <fpc-devel at lists.freepascal.org>
> Sent: Saturday, May 28, 2005 11:10 AM
> Subject: Re: [fpc-devel] don't you think it's time
> toupdatedelphimodecompatibility? - IDispatch, implements
> 
> 
>> Bisma Jayadi said:
>>
>>>>> Some known missing functionality:
>>>>> 1 implements style delegation
>>>>> 2 vararray support is patchy.
>>>>> 3 customvariants are missing in the rtl
>>>>> 4 packages
>>>>> 5 dispinterfaces and dispid.
>>>>> 6 assembler routines have some constructs that are not supported.
>>>>
>>>>
>>>> Can you tell which one(s) are missing then ?
>>>
>>>
>>> Mostly caused by number 2, 3, and 6.
> 
> 
> I don't get it. Variant support (after "using" variants unit) works
> good, custom variants is a mistery for me right now and assembler
> routines are not to be used in end-classes/methods/functions because of
> portability issues. Other thing is with the dispinterfaces and
> interfaces at all. The DO WORK perfectly in delphi but they are more
> than tricky in FPC (even though the support for interfaces has been
> greatly improved in 2.0). So in my opinion interfaces (which are the
> one-and-only) possibility for exporting "classes" from DLLs should be
> the most important thing to fix.
> 
> Besides I find that FPC 2.0 makes the executables just to big.+

The rtl is slightly bigger because of the portability layers and an
optimizer aligning code for modern CPUs but upx makes them definitily
smaller than D. ones:

C:\fpc>type test1.pp
begin
  writeln('Hello world');
end.

C:\fpc>fpc -Xs test1.pp
Free Pascal Compiler version 2.0.0 [2005/05/08] for i386
Copyright (c) 1993-2005 by Florian Klaempfl
Target OS: Win32 for i386
Compiling test1.pp
Linking test1.exe
3 Lines compiled, 0.0 sec

C:\fpc>dir test1.exe
 Datenträger in Laufwerk C: ist 6Y120PO PRI
 Volumeseriennummer: 12E3-1449

 Verzeichnis von C:\fpc

28.05.2005  23:14            25.600 test1.exe
               1 Datei(en)         25.600 Bytes
               0 Verzeichnis(se),  3.637.313.536 Bytes frei

C:\fpc>upx test1.exe
                     Ultimate Packer for eXecutables
   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
UPX 1.25w        Markus F.X.J. Oberhumer & Laszlo Molnar        Jun 29th
2004

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
     25600 ->     11264   44.00%    win32/pe     test1.exe

Packed 1 file.

C:\fpc>dir test1.exe
 Datenträger in Laufwerk C: ist 6Y120PO PRI
 Volumeseriennummer: 12E3-1449

 Verzeichnis von C:\fpc

28.05.2005  23:14            11.264 test1.exe
               1 Datei(en)         11.264 Bytes
               0 Verzeichnis(se),  3.637.313.536 Bytes frei

C:\fpc>

IIRC Delphi creates 16 kB something.

> Even
> though I compressed them with UPX -9 they are still bigger than the one
> compiled with delphi. This is the one thing I really dislike in
> freepascal. Besides the lack of real working interfaces I find FPC my
> favourite pascal compiler.
> 
> Regards,
> Matthias.
> 
> 
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel





More information about the fpc-devel mailing list