[fpc-pascal] Initialization of constant record member of pointer type

Sven Barth pascaldragon at googlemail.com
Mon Nov 30 23:26:07 CET 2020


Am 30.11.2020 um 13:20 schrieb LacaK via fpc-pascal:
> Hi,
>
> is there a way how to initialize record member of pointer type (other 
> than PChar) in the following example:
>
> type
>   TMyRec=record
>     a: PByte; // if I change PByte to PAnsiChar then it works
>   end;
>
> const
>   MyConst: TMyRec = (a: 'abcd'); // I want to a points to static 
> memory where 'abcd' is stored
>
> I would like to initialize a to be pointer to another known constant 
> or directly to supplied string constant.
>
> For example something like:
>
> const
>   MyConst1='abcd';
>   MyConst2=TMyRec = (a: @MyConst1);

Untyped constants don't have an address you can take. You need to use a 
typed constant:

=== code begin ===

const
   MyConst1: Byte = 123;
   MyConst2: TMyRec = (a: @MyConst1);

=== code end ===

Regards,
Sven


More information about the fpc-pascal mailing list