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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2010
Avatar de mlara
[mlara] mlara is offline
Miembro Premium
 
Registrado: jun 2003
Ubicación: Colombia
Posts: 667
Poder: 21
mlara Va por buen camino
Función virtual...

Como ejemplo, cuando uso un objeto de la VCL, sé que puedo hacer algo como esto:

Código:
procedure TForm.MiObjetoOnEvento1(Sender: TObject);
begin
  ...
end;

procedure MiEventoAlternativo1(Sender: TObject);
begin
  ...
end;

procedure TForm.Button1Click(Sender: TObject);
begin
  ...
  MiObjeto.Evento1 := nil;
  ...
  // Aquí hago algo que involucra a MiObjeto y quiero evitar que se ejecute
  // el código del evento 1, pero más adelante sí necesito que el código
  // se ejecute, por lo cual hago nuevamente la asignación.
  ...
  MiObjeto.Evento1 := MiEventoOnEvento1;
  ...
  // Luego, necesito que el código a ejecutar sea otro, pero ante el mismo
  // evento, por lo cual hago esta otra asignación.
  ...
  MiObjeto.Evento1 := MiEventoAlternativo1;
  ...
end;
Esto lo he hecho y funciona perfectamente.

Ahora requiero declarar una función en el código de una forma (TForm), y luego, al ejecutar esa función, dependiendo de cierto parámetro, quiero que se ejecute un código diferente reasignando el código de la función, así:

Código:
if Tag = 1 then
  MiFuncion := MiFuncion1
else if Tag = 2 then
  MiFuncion := MiFuncion2
else if Tag = 3 then
  MiFuncion := MiFuncion3
...

// Todas las funciones son de tipo booleano, así que...
if MiFuncion then
  ...
else
  ...
La cuestión es que esto último no he podido hacerlo. El ejemplo de arriba me hace suponer que sí puedo asignar una función definida (MiEventoOnEvento1 o MiEventoAlternativo1) a una función declarada dentro de una clase (Evento1), pero como ven tengo problemas...

Sé también que podría implementar un código alternativo, pero de verdad requiero una solución como la solicitada.

Gracias, si alguien puede colaborarme.
__________________
...y mañana caminaré por las calles pasando inadvertido, como siempre.

Última edición por mlara fecha: 23-08-2010 a las 19:19:37.
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
No es un delirio, fue real o "virtual": Funeral virtual que se transforma en masacre! delphi.com.ar La Taberna 42 21-06-2007 18:00:59
MDI Virtual isg OOP 1 16-10-2006 11:18:37
Virtual Replay - Repetición Virtual de los Goles del Mundial delphi.com.ar La Taberna 0 26-06-2006 17:15:07
Virtual PC fjcg02 Linux 2 15-12-2004 18:11:18
Red virtual Pablo Carlos Varios 4 07-08-2004 02:24:31


La franja horaria es GMT +2. Ahora son las 08:23:44.


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