Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2011
pennylane pennylane is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
Pasar TForm a un procedure

Hola.

Estoy intentado hacer una función genérica para poder modificar las propiedades de los Labels de diferentes formularios

El problema lo tengo al pasar un TForm a un procedure y he leído varios hilos pero no me han funcionado las soluciones. He probado a pasarlo como Class y tampoco funciona... La verdad es que me pierdo en esto y he leído mucho pero me cuesta entender el problema.
El error que me da es "delphi this form of method call only allowed for class methods"


Llamada:
Código Delphi [-]
procedure TFORM1010.FormActivate(Sender: TObject);
begin
     TVariables.CargaCabecera(Form1010, 'Mantenimiento');
end;

Procedimiento:
Código Delphi [-]
procedure TVariables.CargaCabecera(Formulario: TForm; Titulo:String);
begin
     Formulario.Caption := Titulo;
     for i := 0 to (Formulario.ComponentCount - 1) do
     begin
          if (Formulario.Components[i] is TLabel) then
          begin
               TLabel(Formulario.Components[i]).Font.Size := 8;
               TLabel(Formulario.Components[i]).Font.Color := clNavy;
          end;
     end;
end;

Última edición por pennylane fecha: 27-05-2011 a las 10:52:18.
Responder Con Cita
  #2  
Antiguo 27-05-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Lo que te está diciendo es que "TVariables" es una clase, no un objeto, por lo que no puede ejecutarse el método ya que no sabe a qué objeto pertenece.

Quizá si lo declaras como un "procedimiento de clase" sí funcione, pero no lo recomiendo ya que no es algo "Orientado a objetos".
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 27-05-2011
pennylane pennylane is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
TVariables es un formulario (DataModule) donde tengo las funciones del programa.

Código Delphi [-] TVARIABLES = class(TDataModule)
Responder Con Cita
  #4  
Antiguo 27-05-2011
pennylane pennylane is offline
Miembro
 
Registrado: feb 2007
Posts: 14
Poder: 0
pennylane Va por buen camino
Gracias... Menudo fallo... Estaba ciego. La llamada a la función no era correcta

Código Delphi [-]
procedure TFORM1010.FormActivate(Sender: TObject); 
begin      
       Variables.CargaCabecera(Form1010, 'Mantenimiento');
end;
Responder Con Cita
Respuesta



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
llamar a procedure desde otra procedure anubis Varios 23 04-03-2010 18:44:37
tipo de dato para pasar parametro a un store procedure Bracus SQL 6 25-03-2008 13:38:13
pasar un registro de un dbedit a otro con el procedure edit betty_loo Conexión con bases de datos 1 07-11-2007 22:51:55
como pasar a un stored procedure un conjunto de datos en FB 1.5 pvizcay Firebird e Interbase 8 04-12-2006 04:44:09
Pasar Tabla Como Parametro en Stored Procedure elpinjum Firebird e Interbase 3 17-10-2003 10:37:41


La franja horaria es GMT +2. Ahora son las 01:44:16.


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