FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿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! |
#2
|
||||
|
||||
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). |
#3
|
|||
|
|||
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::.:. |
#4
|
||||
|
||||
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); Código:
FmGanancia.GuardarDatos(Ruta, fexa);
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
|||
|
|||
Me Gusta más tu Respuesta guillotmarc
saludos!!!!
__________________
.:.::FRANKER::.:. |
#6
|
|||
|
|||
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!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como resuelvo este error? | Ryu | Internet | 3 | 18-04-2005 19:10:39 |
Ayuda con este error???? | danytorres | Varios | 1 | 27-10-2004 11:38:09 |
Error: RichEdit line insertation error | DarkByte | Varios | 3 | 19-07-2004 12:28:09 |
Que significa éste mensaje de error? | vivim82 | Conexión con bases de datos | 5 | 27-04-2004 18:02:04 |
Mucho cuidado con cometer este error: | __cadetill | Humor | 3 | 13-09-2003 21:24:28 |
|