Ver Mensaje Individual
  #4  
Antiguo 10-05-2006
Avatar de Colgueit
Colgueit Colgueit is offline
Miembro
 
Registrado: abr 2006
Ubicación: Lanzarote, España
Posts: 91
Reputación: 19
Colgueit Va por buen camino
Lo explico con un ejemplo: Tengo este código declarado en la parte de implementación:
Código Delphi [-]
function EsNif(NIF: String): Boolean;
var
  Numero: Integer;
begin
   Result:= FALSE;
   if TryStrToInt(Copy(NIF,1,Length(NIF)-1),Numero) then
      Result:= Uppercase(Copy(NIF,Length(NIF),1)) = Letra(Numero);
end;

Ahora bien si quiero que sea visible a los demas formularios deberia poner la cabezera ( function EsNif(NIF: String): Boolean; ) en el interface.
Esto es lo que pongo:
Código Delphi [-]
unit ClienteNuevo;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Mask, ComCtrls, Buttons, ExtCtrls, DB, DBTables;
type
  TFormClienteNuevo = class(TForm)
   //todas los objetos
   //todos los procedures
   function EsNif(NIF: String): Boolean;

Ahí no me deja poner la cabezera de la función, este es el error que da:
[Error] ClienteNuevo.pas(51): Unsatisfied forward or external declaration: 'TFormClienteNuevo.Letra'

¿hago algo mal? y si no ¿entonces donde pongo la cabezera de la funcion o la funcion entera para que sea visible por los demas formularios?

Gracias!

Última edición por Colgueit fecha: 10-05-2006 a las 16:37:21.
Responder Con Cita