Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-05-2003
nesetru nesetru is offline
Miembro
 
Registrado: May 2003
Posts: 50
Poder: 15
nesetru Va por buen camino
¿Pero que significa este error?

Hola a Todos!!!

He hecho un procedimiento que realiza la copia de una base de datos a un archivo .txt
la cabecera es la siguiente:

procedure TFmGanancia.GuardarDatos(Path: String; fexa: String);
siendo el Path la ruta del directorio donde quiero guardar el archivo .txt, y fexa, la fecha del sistema.

El caso es que cuando llamo al procedimiento:

TFmGanancia.GuardarDatos(Ruta, fexa);

Meda este erro:

[Error] Formulario.pas(312): This form of method call only allowed for class methods

Podriais ayudarme!!!!

Gracias!
Responder Con Cita
  #2  
Antiguo 08-05-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: May 2003
Ubicación: Huelva
Posts: 2.638
Poder: 17
guillotmarc Va por buen camino
Hola.

Estás utilizando un método, directamente a partir de la clase (TFmGanancia) y no de una instancia de la clase.

Es decir, si tienes un formulario FmGanancia1 de la clase TFmGanancia, podrás ejecutar ese método sin problemas sobre la instancia :

FmGanancia1.GuardarDatos(Path: String; fexa: String);

Pero no :

TFmGanancia.GuardarDatos(Path: String; fexa: String);

Utilizar un método directamente a partir de la clase, solo lo puedes hacer con los constructores (para crear una nueva instancia de la clase, normalmente el Create), o con métodos de clase. Que se han definido como :

class procedure TFmGanancia.GuardarDatos(Path: String; fexa: String);

Estos métodos de clase se pueden usar directamente a partir de la clase, sin necesidad de ejecutarse sobre una instancia de la misma. NOTA : Al no ejecutarse sobre ninguna instancia de la clase no podrás utilizar la pseudo-variable Self.

Ha quedado un poco liado, pero espero que se pueda entender.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 08-05-2003
FRANKER FRANKER is offline
Miembro
 
Registrado: May 2003
Ubicación: Elche
Posts: 71
Poder: 15
FRANKER Va por buen camino
Arrow

Hola

Me parece ver que tu error está en la llamada de la función.

Cambia :
TFmGanancia.GuardarDatos(Ruta, fexa);
por
FmGanancia.GuardarDatos(Ruta, fexa);

sin la T del principio que hace referencia a la clase.

Saludos!
__________________
.:.::FRANKER::.:.
Responder Con Cita
  #4  
Antiguo 08-05-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: May 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.874
Poder: 20
delphi.com.ar Va por buen camino
Estas queriendo llamar a un método directamente desde la clase, y eso está solo permitido para los métodos de clase.
Si estas ejecutándolo dentro de un método de este TFmGanancia, solo lo tenés que llamar así:

Código:
GuardarDatos(Ruta, fexa);
Sin la clase!!... si lo llamás de afuera y el form esta creado en la variable FmGanancia, lo que tenés que hacer es

Código:
 FmGanancia.GuardarDatos(Ruta, fexa);
No creo que quieras que GuardarDatos sea un método de clase..
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 08-05-2003
FRANKER FRANKER is offline
Miembro
 
Registrado: May 2003
Ubicación: Elche
Posts: 71
Poder: 15
FRANKER Va por buen camino
Talking

Me Gusta más tu Respuesta guillotmarc
saludos!!!!
__________________
.:.::FRANKER::.:.
Responder Con Cita
  #6  
Antiguo 08-05-2003
nesetru nesetru is offline
Miembro
 
Registrado: May 2003
Posts: 50
Poder: 15
nesetru Va por buen camino
Gracias a todos!!

La verdad es que estoy comenzando a programar en Delphi y para nada controlo las Clases ... y demás!



Gracias otra vez!!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
como resuelvo este error? Ryu Internet 3 18-04-2005 20:10:39
Ayuda con este error???? danytorres Varios 1 27-10-2004 12:38:09
Error: RichEdit line insertation error DarkByte Varios 3 19-07-2004 13:28:09
Que significa éste mensaje de error? vivim82 Conexión con bases de datos 5 27-04-2004 19:02:04
Mucho cuidado con cometer este error: cadetill Humor 3 13-09-2003 22:24:28


La franja horaria es GMT +2. Ahora son las 08:43:30.


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