AnuardMichelen,
Cita:
Empezado por AnuardMichelen
Estoy compilando un sistema pero me aparece los siguientes errores: ...Unsatisfied forward or external declaration...
|
En Delphi el error anterior se refiere a
funciones o
procedimientos declarados en la sección de
interface pero que no han sido definidos en la sección de
implementation.
Revisa este código:
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
public
end;
function F1(x1 : Integer) : Integer;
Procedure P1(x1 : Integer);
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
El código anterior al ser compilado producirá los siguientes errores:
Cita:
[Error] Unit1.pas(17): Unsatisfied forward or external declaration: 'F1'
[Error] Unit1.pas(18): Unsatisfied forward or external declaration: 'P1'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
|
La razón es que la
función F1 y el
procedure P1 no han sido definidos en la
sección de implementation.
El error anterior también ocurrirá
si las rutinas están definidas externamente en un DLL el cual no ha sido declarado en la sección de interface,
Revisa este código:
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
public
end;
function F1(x1 : Integer) : Integer; stdcall; external 'Lib1.dll'
Procedure P1(x1 : Integer); stdcall; external 'Lib1.dll'
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
El código anterior compila sin errores dado que la
función F1 y el
procedure P1 están definidos externamente en el DLL
Lib1.dll
En resumen: Es un problema de definición del código a ejecutar en una función o procedure, sin embargo como bien señalan
Al González y
Casimiro sería conveniente que publiques tu código para un mayor análisis del problema.
Espero sea útil
Nelson.