Ver Mensaje Individual
  #7  
Antiguo 31-03-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Cita:
Empezado por Guillermo80 Ver Mensaje
...He estado mirando un poco más a fondo las directivas y en este caso creo que está claro que se usa register, que es la que permite definir tipos con parámetros...El error que me sale es directiva desconocida para FLAC__StreamEncoderProgressCallback
mmm ...creo que no lo has comprendido del todo bien. Dudo mucho que Register sea la directiva adecuada para este caso. Normalmente las DLLs escritas en C++ usan la convención de llamada StdCall o SafeCall. Si la documentación de la biblioteca no lo indica, lo más probable es que debas usar StdCall.

El error que te aparece seguramente es Unknown directive: 'FLAC__StreamEncoderProgressCallback'. Habla bien de un forista mostrar el mensaje exacto de error que le aparece en pantalla, más que una interpretación personal (y a veces equivocada) del mismo.

Ese error aparece porque le estás dando el nombre del tipo de dato después de la palabra Procedure; basta con que el nombre aparezca una sola vez delante (a la izquierda) del signo de igual ("="), como ya lo está ahí. Después de "Procedure" deben ir los parámetros entre paréntesis, es decir, la cabecera.

Por otro lado, desconozco por qué declaras la variable funcCallback (tendría que ver tu código para decirte si realmente la requieres). Lo que sí debes de tener claro, Guillermo, es que debes* crear un procedimiento con la misma cabecera que define TFLAC__StreamEncoderProgressCallback, para poder darle ese procedimiento a la función que lo espera como parámetro.

Ese procedimiento que vas a crear, es tu rutina de retrollamada.

*¿Qué dice la documentación de la biblioteca? ¿Forzosamente debes proporcionar ese procedimiento? Algunas veces las funciones de retrollamada son opcionales.

Espero haber orientado.

Al González.

Última edición por Al González fecha: 31-03-2008 a las 00:57:43.
Responder Con Cita