FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿Es procedure ó function ó class?
¿cuando hay declaraciones de este tipo.
son. procedures, function o class? ¿como se usan? ¿por que se usan? Por que no tienen una implementacion de la function o procedure sino solamente su uso. |
#2
|
||||
|
||||
Declaraciones del tipo:
Son tipo de evento. Por ejemplo:
Suelen ir acabadas de "event" en el nombre Una vez declarada una variable de ese tipo puedes usarla así:
No sé si lo he explicado bien. En un componente:
crearía el evento "MiEvento" que aparecería en el inspector de objetos (así, como detalle). Salu2. Añado: antes de llamar a un evento como un procedure, hay que asegurarse de que tiene algo asignado:
|
#3
|
|||
|
|||
Muchas gracias ixMike
no se me habia ocurrido que fuese un evento. |
#4
|
||||
|
||||
Sobre:
type TTmp_Lib = function(s_Data:String):Pchar;stdcall; En este caso vendrá de una Dll. Te muestro otro ejemplo más claro:
Yo diría que es una herramienta más, sabiendo el prototipo (si es un procedimiento o una función además de número y tipos de parámetros de entrada y salida) puedes trabajar con dichas funciones sin saber lo que hacen internamente. Por ejemplo, tú haces un componente que tiene las dos operaciones anteriores (suma y resta), distribuyes la documentación y no distribuyes el código fuente. Con esas definiciones, cualquiera puede hacer una operación llamada Multiplicación. En cuanto a estos señores: Es lo que se denomina Callbacks, ¿funciones retroalimentadas? Podríamos decir (en lenguaje sencillo) que es la implementación de los típicos eventos de delphi pero a nivel de API de Windows. Usando ese ejemplo: Se supone que EnumIniSection leerá todas las secciones que tiene un archivo .ini, y por cada sección que encuentre, hace ejecutar el "EnumProc" que no es más que un método de un objeto:
La API está plagada de callbacks, por ejemplo la clase TTimer, lo único que hace es encapsular en típicas clases de delphi, las llamadas a SetTimer que requiere de funciones retroalimentadas. Por si no ha quedado claro: No hay implementación de esas funciones, porque quien lo implementa eres tú, como usuario del módulo o componente. El que hizo el módulo "EnumIniSection" te da la posiblidad de informarte cuando se lee una Sección y de que tú puedas ejecutar tu propio código. Edito: creo que no me he expresado muy claramente que digamos.... pero a estas horas .... jeje, pregunta si eso...) Voy a por otro café a ver si me espabilo Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
||||
|
||||
Para matizar un poco lo dicho por Miguel y Lepe, no necesariamente son eventos, pero sí tipos y variables "procedimentales". En sí los eventos que vemos, por ejemplo, en el inspector de objetos, son propiedades de tipo procedimental. Es decir, que el valor que guardan es una dirección de memoria; la ubicación en memoria de una rutina de código. Pero no todos los valores procedimentales son utilizados para implementar eventos.
En cuanto a las funciones callback, éstas se conocen en castellano como rutinas de retrollamada. En este hilo se habló hace poco sobre el tema de los valores procedimentales. Creo que puede serte de utilidad JXJ: http://www.clubdelphi.com/foros/show...274#post276274 Saludos. Al González. |
#6
|
|||
|
|||
aaa
Miguel y Lepe, Al , gracias. por decirme que son
"functions y procedures de tipo callback". y por los ejemplos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
llamar a procedure desde otra procedure | anubis | Varios | 23 | 04-03-2010 18:44:37 |
FutureValue Function | chino150 | Varios | 2 | 28-01-2008 22:07:16 |
Tablas en Function | rolando_s | Conexión con bases de datos | 2 | 23-12-2004 21:26:59 |
Create Function | rickymarti | Firebird e Interbase | 1 | 02-12-2004 10:37:00 |
Function | vtdeleon | OOP | 1 | 25-11-2004 07:22:48 |
|