Estimados. Tengo que acceder a unas funciones en una liberia c++ desde c#. Estoy teniendo problemas para subscribirme a un callback.
La firma en C++ son: int WINAPI LSCAN_Capture_RegisterCallbackResultImage( const int handle, ///< [in] Device handle obtained by LSCAN_Main_Initialize() LSCAN_CallbackResultImage callback, ///< [in] Pointer to the notification function void *context ///< [in] Pointer to user context; this value is used as parameter for callback ); ///// Result image availability notification function. ///// To register for the notification call LSCAN_Capture_RegisterCallbackResultImage(). ///// @param deviceHandle device handle to identify device the callback is called for ///// @param pContext caller defined context (e.g. handler object instance pointer) ///// @param imageStatus result image status value (value >= LSCAN_STATUS_OK indicates success) ///// @param image result image (valid until callback function is exited) ///// @param imageType if auto capture license available and imageStatus >= LSCAN_STATUS_OK: ///// detected result image type (e.g. LSCAN_ROLL_SINGLE_FINGER) \n ///// else if imageStatus >= LSCAN_STATUS_OK: image type as selected by ///// LSCAN_Capture_SetMode() \n ///// else: @ref LSCAN_TYPE_NONE ///// @param detectedObjects if imageStatus >= LSCAN_STATUS_OK and auto capture license available: ///// number of detected objects/fingers in result image \n ///// else: -1 //typedef void (CALLBACK *LSCAN_CallbackResultImage)( // const int deviceHandle, // void *pContext, // const int imageStatus, // const ImageData image, // const LScanImageType imageType, // const int detectedObjects // ); Lo tengo implementado de esta manera en C#: public delegate int LSCAN_CallbackResultImage( int deviceHandle,IntPtr pContext, int imageStatus, ImageData image, LScanImageType imageType, int detectedObjects); [System.Runtime.InteropServices.DllImport("LScanEssentials.DLL")] public static extern int LSCAN_Capture_RegisterCallbackResultImage(int handle, LSCAN_CallbackResultImage CallbackResultImage, IntPtr Context); Y desde el form donde uso las funciones asi: GuardianFunctions.LSCAN_Capture_RegisterCallbackResultImage(ScnHandler, new GuardianFunctions.LSCAN_CallbackResultImage(callbackresult), pictureBox1.Handle); El tema es que no se estan comunicando, y normalmente obtengo el error CallbackOnCollectedDelegate was detected Alguna idea? Gracias _________________________________________________________________ Disfrutá todos los especiales que MSN tiene para vos http://especiales.latam.msn.com/cl