Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

unsatisfied forward or external declaration

I am getting an error while compiling .pas file.

"unsatisfied forward or external declaration :TxxxException.CheckSchemeFinMethodDAException."

Does anyone have any idea what this error implies?

Does it mean that CheckSchemeFinMethodDAException was not called in all the concerned files?

like image 949
vas Avatar asked Aug 19 '09 16:08

vas


3 Answers

You have declared this method but didn't implement it.

like image 166
Uwe Raabe Avatar answered Nov 09 '22 03:11

Uwe Raabe


unit Unit1;

interface

type
  TMyClass = class
    procedure DeclaredProcedure;
  end;

implementation

end.

This yields the error you describe. The procedure DeclaredProcedure is declared (signature) but not defined (implementation part is empty).

You have to provide an implementation for the procedure.

like image 43
jpfollenius Avatar answered Nov 09 '22 03:11

jpfollenius


you may have forgotten to put the class name before the function name within the implementation section. for example, the following code will yield your error:

unit Unit1;

interface

type
  TMyClass = class
    function my_func(const text: string): string;
  end;

implementation

function my_func(const text: string): string;
begin
  result := text;
end;

end.

to fix, just change the function implementation to TMyClass.my_func(const text: string): string;.

like image 33
mulllhausen Avatar answered Nov 09 '22 02:11

mulllhausen