![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Hola Al, muchas gracias por tu aportación, sin duda está siendo muy valiosa para mí.
He aplicado las cosas como me dijiste y efectivamente, ya compila y ejecuta, pero hay alguna cosa que no tengo clara. La función de retrollamada tienes razón, es opcional, y le puedo pasar un nil a la función principal en el parámetro de la función de retrollamada, pero finalmente la he incluido. Mi código ha quedado como sigue de forma resumida: Cita:
Cita:
Cita:
¿Tendría que crear un procedimiento con otro nombre?¿Cómo lo usaría para poder "alimentar" mi función principal correctamente? En VisualC lo hace así: Cita:
Un saludo. |
|
#2
|
||||
|
||||
|
Cita:
Una vez escrito ese procedimiento, para hacer referencia a la dirección de memoria del mismo, puedes emplear el operador "at" (la arroba):
Con esto le dices a FLAC__stream_encoder_init_file que la función de retrollamada que debe ejecutar es MiProcedimiento. Al parecer, el último parámetro (Nil) es algún valor que tu quieras darle a la función de retrollamada. Es como decirle a la función Init_File: "Oye, te encargo que ejecutes a MiProcedimiento, y al hacerlo incluye en sus parámetros este valor". También es importante que entiendas bien todos los conceptos que estás manejando. Para empezar sería bueno, si no te molesta, comentarnos qué propósito tiene esa API que estás usando y cuál es el objetivo. Saludos. Al. |
|
#3
|
||||
|
||||
|
me he perdido
Hola Al, lo siento pero creo que no te he entendido lo último que me decías:
Cita:
1. ¿Cómo se relaciona con el tipo que me he creado FLAC__StreamEncoderProgressCallback? Quiero decir, que ahora tendría un tipo FLAC__StreamEncoderProgressCallback, una función @Mifunción, y sólo un parámetro para pasarle a Init_File. 2. Si utilizo como me dices como parámetro para init_File @MiFuncion, eso falla en compilación, porque le estaría pasando una direccion de memoria en vez de una variable declarada del tipo precisado. ¿Qué es lo que falla? Aparte de todo lo anterior te explico un poco el contexto: - El programa general consiste en comprimir audio sin pérdidas siguiendo las especificaciones del formato de audio FLAC. - Para ello uso las funciones de libFlac.dll - El programa en realidad "no me lo invento", en un principio se trata de hacer algo simple, para ello tomo un ejemplo de VisualC++ que comprime una pista de audio. - La función de retrollamada es opcional, y si la cosa se pone fea, pues le paso un nil y se acabó. - El punto del programa en el que se hace la retrollamada es el siguiente: Cita:
Cita:
Cita:
Espero haber provisto de información suficiente mi trabajo. Un saludo. Guillermo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ¿puntero a puntero? | Guillermo80 | Varios | 3 | 09-03-2008 22:46:32 |
| puntero | gaston260 | API de Windows | 11 | 01-02-2008 22:39:20 |
| uso de función de dll cuyo parametro es un puntero (dirección) a una estructura | abracadabra | Varios | 1 | 12-10-2007 16:43:59 |
| pasar un puntero a una funcion | baby | Varios | 2 | 21-05-2007 13:10:22 |
| puntero a imagen | Abaddon | Gráficos | 9 | 16-06-2005 00:17:29 |
|