FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ejecutar procedimiento sabiendo únicamente su nombre
Buenas a todos:
Recientemente me he visto en la necesidad de tener que ejecutar procedimientos sabiendo únicamente su nombre. Tras no pocos quebraderos de cabeza, he encontrado con la solución. Pocas veces nos veremos en la necesidad de usar algo así, pero cuando trabajas con formularios configurables/editables por el usuario y con componentes que pueden adoptar diferentes funciones (según las circunstancias y la configuración que elija el usuario) puede ser bastante útil. Así pues, paso a describiros cómo lo he conseguido por si ayuda a alguien: Código:
type TExec = procedure of object; Código:
procedure TForm1.EjecutarMetodo(EnObjeto: TObject; NombreMetodo: string) ; var Rutina: TMethod; Exec: TExec; begin Rutina.Data := Pointer(EnObjeto) ; Rutina.Code := EnObjeto.MethodAddress(NombreMetodo) ; if NOT Assigned(Rutina.Code) then Exit; Exec := TExec(Rutina) ; Exec; end; Código:
procedure TForm1.ProcedimientoCualquiera(Sender: TObject) ; begin ShowMessage('Hola') ; end; procedure TForm1.Button1Click(Sender: TObject) ; begin EjecutarMetodo(self, 'ProcedimientoCualquiera') ; end; |
#2
|
||||
|
||||
Muchas gracias por el aporte.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Amigo DarkDudae, este es un muy buen aporte y creo que clasifica para que lo apuntes en la sección de Trucos del Club.
http://www.clubdelphi.com/trucos/ Y de nuevo, muchas gracias por tu aporte, en el pasado me hubiera gustado mucho encontrarme con un hilo con esta solución....por ahora voy a incluirlo en mi biblioteca de utilidades... Un saludo, |
#4
|
||||
|
||||
Bueno, ahora buscando, ya "coso" habia posteado un truco similar...
http://www.clubdelphi.com/trucos/ind...=176&scrollb=0 |
#5
|
|||
|
|||
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mostrar Form conociendo unicamente el Nombre como String | raul_sal | OOP | 8 | 17-10-2011 17:06:40 |
Asignacion función sabiendo nombre | fjcg02 | OOP | 1 | 07-01-2011 11:23:02 |
Ejecutar un Procedimiento almacenado | saul saldaña | MS SQL Server | 1 | 03-08-2004 21:20:30 |
Ejecutar procedimiento automaticamente | Javi2 | Varios | 2 | 08-07-2004 13:02:02 |
Nombre de procedimiento en runtime | oliverinf | OOP | 7 | 22-03-2004 16:47:51 |
|