Am 15.10.2010 11:13, schrieb Jonas Maebe:

On 15 Oct 2010, at 11:07, Sven Barth wrote:

Am 14.10.2010 14:50, schrieb Uffe Kousgaard:
interface
function somefunction(a: integer): integer;

implementation
function somefunction;
begin
result:= a*2;
end;

Add

{$mode delphi}

at the top of your unit, then this "Delhpi compatible" syntax will be
enabled. The two default FPC modes (fpc and objfpc) are more strict
than the Delphi one.

As an aside, this has nothing to do with strictness. The reason is that
FPC and ObjFPC mode allow function overloading without the "overload"
keyword. So the compiler sees the above as two overloaded functions (one
public, one private) as opposed to the interface and implementation
declaration of the same function.

Do you have to destroy my dream? :P

But you can see it as an indirect strictness. Because FPC sees a declaration with and one without parameters as two functions you can't omit the parameter declaration.

Btw: If I remember correctly, I need to repeat calling conventions as well in the FPC modes... so does the compiler treat to similar functions with two different calling conventions as overloaded?

E.g.

procedure Foo(Bar: Integer); stdcall;
procedure Foo(Bar: Integer); cdecl;

Is this possible?

If so: what's the use of this? I can't differentiate the procedures by calling convention when I call them... If it is not so: why do I need to repeat the calling convention then (only if I remembered this correctly, of course)?

Regards,
Sven
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to