[fpc-pascal] "Function header doesn't match" error

Ewald ewald at yellowcouch.org
Sun Mar 31 14:33:10 CEST 2013


Once upon a time, Mark Morgan Lloyd said:
> I wonder whether anybody could throw some light on a curious error.
> I've just tried to move a class definition into the interface part of
> a unit, so that I could easily add a class helper, but I'm getting an
> error
>
> borgumserverinterface.pas(927,24) Error: (3048) function header
> doesn't match any method of this class
> "TzzConnection.ExecuteSQL2(TStringList,Boolean="FALSE"):Boolean;"
>
> If I move the class back into the implementation part there's no
> error. Simplified code as below:
>
> interface
>
> uses
>   Classes, SysUtils, StrUtils, BorgUMFingerD, BorgUMCode, sqldb;
>
> type
>         TzzConnection= class(TObject)
> ..
>           public
> ..
>             function ExecuteSQL2(sl: TStringList;
>                 relaxInuseCheck: boolean= false): boolean;
> ..
>
> implementation
>
> uses pqconnection, ibconnection, Custom, postgres3dyn, ibase60dyn,
> Regexpr;
> ..
>
> function TzzConnection.ExecuteSQL2(sl: TStringList; relaxInuseCheck:
> boolean= false): boolean;
> ..
>
> It's that final declaration that goes wrong, but I can fix it by
> moving the class back into the implementation part. FPC 2.6.2 on Linux
> x86.
>
Just and idea: Can it be that you redefined TStringList (or boolean for
that matter, but that doesn't strike me as obvious) in oneof the units
you used in your implementation section?

-- 
Ewald




More information about the fpc-pascal mailing list