Erro em uma função simples.

23/05/2003

3

Ainda estou me iniciando no Delphi, e estou com dificuldade em utilizar uma função.
Para exemplificar, eis o código de uma pequena função, mas que está me retornando o erro ´Too many actual parameters´ na linha onde chamo por ela.
Alguém pode me auxiliar? (Utilizo o Delphi 6).

unit teste;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Edit1Exit(Sender: TObject);
private
function dobro1:integer;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;

implementation
{$R *.dfm}

function Dobro1(valor:integer):integer;
begin
result := valor * 2;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
var
Total : integer;
Numero :integer;
begin
Numero := strTOint(Edit1.Text);
Total := dobro1(Numero); //Ocorre erro nesta linha: ´Too many actual parameters´.
Edit2.Text := intTOstr(Total);
end;

end.


Responder

Posts

23/05/2003

Ggean

Facil, alenxandre7, verifique que vc quando declarou na secao private vc nao deixou nenhum parametro

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Edit1Exit(Sender: TObject);
private
function dobro1:integer;//AQUI Ó
{ Private declarations }
public

Declare Function Dobro1(numero:integer):integer;

aí na hora de fazer a funcao adcione o Tform1.
assim

function Tform1.Dobro1(valor:integer):integer;
begin
result := valor * 2;
end;

Espero que resolva.
Um abraco meu caro.
Gean carlos.


Responder

23/05/2003

Rmfb

Olhei.... Olhei...... e olhei o seu código e nao encontrei erro algum.

Entao, resolvi copiá-lo e testá-lo na minha máquina.

Copiei e teste... DEU TUDO CERTO... AÍ NAUM TEM NADA ERRADO. :x :x
:x :x :x :x :x :x :x :x :x :x :x :x :x :x :x :x :x :x :x :x :x


Responder

23/05/2003

Aroldo Zanela

Colega,

A resposta do GGean está correta, ou seja, da mesma maneira que você define o ´esqueleto´ da função na interface, ela deve ser implementada.

Errado:
function dobro1:integer;


Correto:
Function Dobro1(numero:integer):integer



Responder

26/05/2003

Rmfb

Entretanto, com um pouquinho + bem pouqinho mesmo de lógica, vc entederia que eu coloquei direto na secao IMPLEMENTATION........... Precipticao por sua parte.


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar