Ver Mensaje Individual
  #2  
Antiguo 04-04-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

En realidad el significado se acerca mas a: "Los tipos de los parámetros actuales y los formales var, deben ser idénticos"

El procedimiento está correctamente declarado, sin dudas el error está en la llamada. Un ejemplo de como podría producirse:
Código Delphi [-]
procedure mayor( var a:Integer; var b:Integer );
begin 
  // bla, bla, bla
  a := 1;
  b := 2;
end;

// Llamada al procedimiento
procedure TForm1.Button1Click( Sender: TObject );
var
  a, b: Double;
begin
  a := 5;
  b := 6;
  mayor( a, b );  // <-- [Error] Unit1.pas(nn): Types of actual and formal var parameters must be identical
end;
La causal es clara, declaramos parámetros por referencia de tipo Integer y en el ejemplo le estamos pasando como argumento otros de tipo Double.

Esta llamada:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  c, d: Integer;
begin
  c := 5;
  d := 6;
  mayor(c, d);
end;
Sobre el mismo procedimiento no daría ningún error.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita