FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿Cómo pasar un procedimiento por parámetros a otro?
Hola a todos.
Estoy intentando seguir los pasos que me dice Roman y no consigo pasar un procedimiento por parámetros a otro. Os explico lo que quiero hacer y me comentáis si veis que estoy haciendo mal. intento hacer un procedimiento que cree una botonera de TPV pero queme sirva para cualquier tabla.
este procedimiento crea la botonera con el cliendataset que se le pasa ( parámetro “tabla”) en el tscrollbox que se le pasa ( parámetro “panel” ) y quiero asignarle al evento click de cada botón un procedimiento ( parámetro “proc”). para ello me he creado un tipo “TProcDesconocido” así:
y me he definido el procedimiento “PonClickArticulos”
que hace lo que yo quiero asignar al evento click y que paso al procedimiento “cargararticulos” en el parámetro “proc”. Quedaría algo así
y al compilar me devuelve este error [DCC Error] principal.pas(218): E2009 Incompatible types: 'method pointer and regular procedure' alguien me puede decir que estoy haciendo mal... Un saludo y gracias de antemano. Última edición por Casimiro Notevi fecha: 27-03-2014 a las 18:10:00. |
#3
|
||||
|
||||
Lo que sucede es que una instancia de TProcDesconocido debe ser un procedimiento independiente o desconocido, que no forme parte de ninguna clase u objeto. Tú estás pasando lo que se conoce como "Procedure of Object", un procedimiento de objeto. Es por eso del error de "Tipos incompatibles".
PonClickArticulos al ser parte de la clase TForm1 viene a ser un Procedure of Object. Para que tu código compile mejor utiliza la clase TNotifyEvent (Ya definida por Delphi por su popularidad) en el parámetro proc del procedimiento CargarArticulos.:
|
#4
|
||||
|
||||
Hola belpab.
Cita:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
Ok muchas gracias ecfisa.
Funciona perfectamente Chirs muchas gracias a ti tambien. No conocía esa clase. De momento funciona perfectamente dentro de la unit del formulario. Voy a probar a sacarla a otra unit que tengo de procedimientos para llamarla desde cualquier parte del programa. a ver que tal se me da. aunque me temo que me dará problemas al usar controles visuales como el speedbutton. Muchísimas gracias a todos. Como siempre me ha sido de gran ayuda este Maravilloso foro del que tanto he aprendido. Última edición por belpab fecha: 28-03-2014 a las 10:04:23. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como enviar parametro fecha a rave | Krmn | Impresión | 0 | 12-10-2011 00:45:10 |
Enviar a VK_F1 como parametro | mRoman | OOP | 4 | 01-05-2010 17:44:56 |
Pasar Matriz como parametro a un procedimiento | Caro | Varios | 2 | 28-07-2006 17:20:12 |
¿ Cómo se puede enviar un form a otro dispositivo de imagen o monitor ? | dannytec | Varios | 3 | 09-04-2006 11:35:32 |
Ayuda, como llamar a un procedimiento desde otro procedimiento? | Ariatna | Varios | 1 | 01-02-2005 04:05:35 |
|