Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-03-2010
ioco ioco is offline
Miembro
 
Registrado: ene 2010
Posts: 42
Poder: 0
ioco Va por buen camino
error en compilación: identifier idents no member

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
                             {Suma en formato rectangular}
                             fRe:=StrToFloat(a.Re)+StrToFloat(b.Re);
                             fImg:=StrToFloat(a.Img)+StrToFloat(b.Img);
                             {Modificación del formato polar}
                             GetPolar;
                        end;

Código Delphi [-]
  Type
      TComplex = class(TObject)
                Private
                fRe:extended;
                fImg:extended;
                fModulus:extended;
                fArgument:extended;
                // Métodos de uso interno de la clase
                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;


                // Propiedades y métodos accesibles desde fuera de la clase
                Public
                // Llamada cuando se crea una nueva instancia de la clase
                // El parámetro del tipo carácter (R,P) determina el formato (Rectangular o Polar) en que se
                //   expresa el número mediante los otros dos parámetros de entrada
                Constructor Create(format:char=' '; firstInput:string='0'; secondInput:string='0'); overload;
                // Parte real del número (string)
                Property Re:string read GetRe write SetRe;
                // Parte imaginaria del número (string)
                Property Img:string read GetImg write SetImg;
                // Módulo del número (string)
                Property Modulus:string read GetModulus write SetModulus;
                // Argumento del número en radianes (string)
                Property Argument:string read GetArgument write SetArgument;
                // Suma de dos complejos
                Procedure Suma(a,b:TComplex);
      end;

Última edición por ioco fecha: 17-03-2010 a las 20:09:59.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error C2248en C++: cannot access protected member rcarrillom .NET 3 12-03-2010 02:10:04
Error: Undeclared identifier: 'EmptyString' (en truco 416) Greco Varios 2 01-09-2008 23:05:09
Error de compilacion al actualizar los IBX Durbed Varios 1 13-08-2007 12:35:49
Error en la compilación de un archivo .dkp adebonis Varios 0 20-02-2007 18:36:28
Error Compilaciòn amesoft Varios 1 07-08-2005 19:09:23


La franja horaria es GMT +2. Ahora son las 05:39:43.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi