[fpc-pascal] Baby steps

Jonas Maebe jonas.maebe at elis.ugent.be
Tue May 6 17:48:53 CEST 2008


On 06 May 2008, at 17:37, Kristofer Skaug wrote:

> 1) Have been reading the FAQs and other things but cannot seem to  
> find the
> referenced sections in the FPC manuals that contain Delphi vs FPC  
> language
> (in)compatability notes. The RTL manual doesn't appear to load from  
> the FPC
> website.

There's a list available at http://wiki.freepascal.org/Code_Conversion_Guide

It should indeed probably be referenced from the FAQ or so. A number  
of the points raised at http://www.freepascal.org/port.var are also  
valid when coming from Delphi rather than from Turbo Pascal.

> 2) How do I convert a Delphi function like this:
>
> function PtrAt(p:pointer; const Offset:LongWord):pointer;
> begin
>  Result := Ptr(LongWord(p)+Offset);
> end;
>
> FPC barked at my use of Ptr(), saying:
> "Error: Wrong number of parameters specified for call to "ptr""
> And indeed in systemh.inc, "ptr" is defined as:
> Function  ptr(sel,off:Longint):farpointer; (...)
> which appears to be some kind of TP compatability function.
> But the modern Delphi Ptr() function takes only a 32-bit numeric  
> address as
> argument. Is there an equivalent for this in FPC?

Simply use a Pointer-typecast (that will also work in Delphi). In  
Delphi Ptr() is probably internally also simply converted ta Pointer- 
typecast.

I can't help with the other issues, but others probably can.


Jonas



More information about the fpc-pascal mailing list