[fpc-devel] delphi compatibility issues

Jonas Maebe jonas.maebe at elis.ugent.be
Fri May 25 15:37:53 CEST 2007


On 25 mei 2007, at 15:23, Mario R. Carro wrote:

> - Some assembler does not compile. For example this function, in  
> JclLogic.pas:
>
> procedure SetBitBuffer(var Value; const Bit: Cardinal);
> asm
>   BTS    [Value], Bit
> end;
>
> This unit can be compiled with FPC defining PUREPASCAL but with  
> degraded
> performance in many functions.

Please submit a bug for this.

> - Interface implementation delegation requires an interface type  
> (but Delphi
> accepts classes). For example, in JclSchedule.pas:
>
>     property DailyFreq: TDailyFreq read FDailyFreq implements
> IJclScheduleDayFrequency;
>
> where TDailyFreq is a class (derived from TAggregatedObject).

For this also.

> - Classes implementing interfaces must implement all the interface  
> methods
> (but Delphi compiles the code happily without them). See, for  
> example, the
> class TSchedule in JclSchedule.pas. Adding virtual abstract  
> declarations for
> the missing methods to the class solves the problem in FPC in a Delphi
> compatible way. Perhaps FPC should do it automatically in those cases?

To me, this sounds like a bug in Delphi, although we may emulate it  
one day in Delphi mode. Either a class implements an interface, or it  
doesn't. I think it's better to solve this on the JCL side.


Jonas



More information about the fpc-devel mailing list