Saludos de nuevo
Como siempre... aquí intentando averiguar qué significan los mensajes de mis queridos amigos los errores 0
Bueno, autocrítica a parte. En un form tengo un botón desde el cual creo 3 instancias de un objeto (TComplex) mediante un constructor, copio los valores de 4 edits en dos de ellas, llamo al método "Suma" y espero que muestre la suma de ellos en dos edits más.
Pero a la hora de compilar me devuelve:
"unit2.pas(47,6) Error: identifier idents no member "Suma""
El constructor, definido por mi, parece que funciona correctamente pues puedo asignar libremente valor de un edit a otro pasando por TComplex antes (ya sé que debe sonarles a chapuza, pero es lo único que se me ocurrió para comprobar que las instancias existían y funcionaban correctamente).
Y no creo que el fallo esté en la suma...
He andado toda la tarde buscando por la web y no me he aclarado nada.
¿Alguna sugerencia, por favor?
Gracias de antemano por su tiempo
PD: Adjunto las partes de código implicadas por si quieren mirarlas
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
z1:=TComplex.Create;
z2:=TComplex.Create;
z3:=TComplex.Create;
z1.Re:=Edit1.text;
z1.Img:=Edit2.text;
z2.Re:=Edit3.text;
z2.Img:=Edit4.text;
z3.Suma(z1,z2);
Edit5.text:=z3.Re;
Edit6.text:=z3.Img;
z1.destroy;
z2.destroy;
z3.destroy;
end;
Código Delphi
[-]
Constructor TComplex.Create(format:char=' '; firstInput:string='0'; secondInput:string='0'); overload;
Begin
Inherited Create;
Case format of
'R': Begin
fRe:=StrToFloat(firstInput);
fImg:=StrToFloat(secondInput);
GetPolar;
end;
'P': Begin
fModulus:=StrToFloat(firstInput);
fArgument:=StrToFloat(secondInput);
GetRectangular;
end;
else
Begin
fRe:=0;
fImg:=0;
fModulus:=0;
fArgument:=0;
end;
end;
end;
Código Delphi
[-]
Procedure TComplex.Suma(a,b:TComplex);
Begin
fRe:=StrToFloat(a.Re)+StrToFloat(b.Re);
fImg:=StrToFloat(a.Img)+StrToFloat(b.Img);
GetPolar;
end;
Código Delphi
[-]
Type
TComplex = class(TObject)
Private
fRe:extended;
fImg:extended;
fModulus:extended;
fArgument:extended;
Function GetRe:string;
Procedure SetRe(inputRe:string);
Function GetImg:string;
Procedure SetImg(inputImg:string);
Function GetModulus:string;
Procedure SetModulus(inputModulus:string);
Function GetArgument:string;
Procedure SetArgument(inputArgument:string);
Procedure GetPolar;
Procedure GetRectangular;
Public
Constructor Create(format:char=' '; firstInput:string='0'; secondInput:string='0'); overload;
Property Re:string read GetRe write SetRe;
Property Img:string read GetImg write SetImg;
Property Modulus:string read GetModulus write SetModulus;
Property Argument:string read GetArgument write SetArgument;
Procedure Suma(a,b:TComplex);
end;