Ver Mensaje Individual
  #3  
Antiguo 05-04-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Reputación: 22
Bicho Va por buen camino
Hola, primero de todo, por favor usa las TAG, las etiquetas para envolver el código, en este caso la etiqueta [delphi], así será más legible para todos.

En cuanto a tú pregunta, has creado un a función en una instancia de la clase TForm, que en tu caso esta instancia la llamas TForm1, en la parte de declaración lo has hecho correctamente, pero en la parte de implementación no, debes asignarle la clase a la que pertenece esa función, ya que puede haber otras clases en la unit que tengan declarada una función con ese mismo nombre. Si te fijas, ocurre lo mismo con el evento OnClick del button1 que tienes en el formulario, fijate que en la parte de implementación aparece el TForm1. antes del nombre de la función, en este caso procedimiento. Sólo tienes que añadir TForm1. antes del nombre de la función en la parte de implementación.

Así tu código quedaría de la siguiente manera:
Código Delphi [-]
unit aprendiendo;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
function mul(x:integer):integer;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.mul(x:integer):integer;
begin
mul:=(x*x);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
a:integer;
begin

a:=mul(3);
label1.Caption:=inttostr(a);

end;

end.

Saludos
Responder Con Cita