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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2005
omar_e_rc omar_e_rc is offline
Miembro
 
Registrado: mar 2005
Posts: 32
Poder: 0
omar_e_rc Va por buen camino
Lightbulb Funciones por parametros...

Si estoy haciendo un metodo de un objeto y quiero que este reciba una funcion por parametro, pero si la declacion es:

TFunctionParametro = Funcion(Parametros):TipoSalida;

Si quiero meter un metodo de un objeto no puedo, pero si mi declaracion es:

TFunctionParametro = Funcion(Parametros):TipoSalida of object;

Si puedo meter un metodo de un objeto, pero no me deja meter una funcion normal.

Como puedo hacer para hacer una declaracion de con la que pueda meter ambos casos.
Responder Con Cita
  #2  
Antiguo 25-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Que yo sepa no se puede, tienes que cambiar los nombres:

Código Delphi [-]

TCompareProc = function (....):TipoSalida;
TCompareMethod = function (....):TipoSalida of Object;

// Y ahora haces un Overload del método que lo use:

Tmio = Class(tobject)

public 
  procedure Compara(Funcion :TcompareProc);overload;
  procedure Compara(Funcion :TcompareMethod);overload;
end;

Aunque la implementación del método "Compara" es la misma, tienes que duplicarla.

Saludos

Última edición por Lepe fecha: 25-03-2005 a las 18:36:30.
Responder Con Cita
  #3  
Antiguo 28-03-2005
omar_e_rc omar_e_rc is offline
Miembro
 
Registrado: mar 2005
Posts: 32
Poder: 0
omar_e_rc Va por buen camino
Gracias...

Gracias por la solucion, si me funciono y realmente fue muy ingeniosa...

Saludos
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


La franja horaria es GMT +2. Ahora son las 10:33:34.


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