[fpc-pascal] Calling a function by name (as string) read from a text file

Daniël Mantione daniel.mantione at freepascal.org
Wed Oct 10 14:42:08 CEST 2007


y

Op Wed, 10 Oct 2007, schreef Jilani Khaldi:

> > type  Tsetupfunc_mapping=3Drecord
> > name:string;
> > func:setupfunc;
> > end;
> >  const setupfunc_mapping:array[0..2] of Tsetupfunc_mapping=3D(
> > (name:'setup_function_1';func:@setup_function_1),
> > (name:'setup_function_2';func:@setup_function_2),
> > (name:'setup_function_3';func:@setup_function_3));
> > =

> > Then search the name of the function you want to call in the table, then
> > call the function in the "func" field.
> Thanks, but the consts should be:
> const setupfunc_mapping: array[0..2] of Tsetupfunc_mapping=3D(
> (name: 'setup_function_1'; func: setup_function_1),
> (name: 'setup_function_2'; func: setup_function_2),
> (name: 'setup_function_3'; func: setup_function_3));
> =

> However compiling with {$mode objfpc} I get the error:
> ** Error: Some fields coming before "name" weren't initialized
> and it dosen't compile.

Did you implement the record exactly as shown? This error normally occurs =

if you have fields in your record that you don't mention in your typed =

const declaration.

Dani=EBl


More information about the fpc-pascal mailing list