[fpc-pascal] macros with parameters
Marc Santhoff
M.Santhoff at t-online.de
Tue Sep 19 21:25:53 CEST 2006
Hi,
the docs only show examples of macros without any parameters. Is it
possible to use them?
Can I make this work anyhow:
{$MACRO ON}
{$define HOFFSET(rec,field) := pointer(@rec.field) - pointer(@rec)}
type
s1_t = record
a: longint;
b: single;
c: double;
end;
var
s1: s1_t;
BEGIN
s1.a := 12345;
s1.b := 1.000000001;
s1.c := 1.000000002;
writeln(HOFFSET(s1, a)); { Line 32 in my code }
END.
Written as it is the compiler doesn't like it:
$ fpc offsetof
Free Pascal Compiler version 2.0.2 [2005/11/17] for i386
Copyright (c) 1993-2005 by Florian Klaempfl
Target OS: FreeBSD/ELF for i386
Compiling offsetof.pas
offsetof.pas(32,10) Error: Identifier not found "HOFFSET"
offsetof.pas(32,22) Error: Identifier not found "a"
offsetof.pas(32,25) Error: Illegal expression
Other solutions are very welcome...
TIA,
Marc
More information about the fpc-pascal
mailing list