[fpc-pascal] function alias

ik idokan at gmail.com
Sat Oct 6 21:43:30 CEST 2007


On 10/6/07, Mattias Gaertner <nc-gaertnma at netcologne.de> wrote:
> On Thu, 4 Oct 2007 20:17:36 +0200 (CEST)
> Daniƫl Mantione <daniel.mantione at freepascal.org> wrote:
>
> >
> >
> > Op Thu, 4 Oct 2007, schreef Mattias Gaertner:
> >
> > > Yes, but I hoped to declare it in situ - without adding another
> > > type. ;) The reason is that I'm auto translating some C headers
> > > that contains aliases for functions.
> >
> > procedure DoAliasSomething(...params...); cdecl; external 'useful';
> >
> > ... is another approach.
>
> Ok. I implemented that.
>
> I'm curious: Why does fpc not allow
> const FuncAlias = MyFunc;
> ?

Yuck, that reminds me of C++ templates. it allows you to alias "{" as
"begin" (for example) and also to make such aliases... it can create a
lot of problems when people does not fully understand what you have
done.

I can think on other way to implement "alias":

procedure OriginalProc(..).. {$IFDEF USEINLINE_ALIAS}inline;{$ENDIF}
begin
end;
...

procedure AliasProc(...);
begin
  {$DEFINE USEINLINE_ALIAS}
  OriginalProc(...);
  {$UNDEF USEINLINE_ALIAS}
end;

But it looks so ugly ...

>
> Mattias


Ido
-- 
http://ik.homelinux.org/


More information about the fpc-pascal mailing list