Ver Mensaje Individual
  #8  
Antiguo 14-11-2022
elcigarra elcigarra is offline
Miembro
 
Registrado: may 2005
Posts: 269
Reputación: 20
elcigarra Va por buen camino
Thread-safe postmessage

Sigo con mi asunto de las dos cámaras en paralelo. Para empezar digo que estoy usando la librería VFrames de GRBLize de aquí:
https://github.com/MakeMagazinDE/GRB...er/VFrames.pas

Lo que me pasa es que si yo llamo a ambas cámaras desde el hilo principal de la aplicación funciona correctamente (veo las dos cámaras) pero el programa es una carreta y refrescan cada 5 segundos. Lo que se me ocurrió es meter cada llamada en un hilo. El problema es que haciéndolo así cuando seteo la fuente de la segunda cámara me cambia las dos y me muestran la misma imagen (de la segunda cámara). Me da la sensación que esto es porque esta biblioteca VFrames no es Thread safe. En mi ignorancia (hago agua en threads y océanos en procesos de windows, mi excusa es que programo como hobby nada más ) me da la sensación que el problema está en la linea
Código:
PostMessage(fMessageHWND, fMsgNewFrame, Size, integer(fImagePtr[i]));
Hay un comentario en esta linea de código
// This routine is called by the video software and therefore runs within their thread.
// Posting a message to our own HWND will transport the information to the main thread.


No me queda claro por qué si fMessageHWND para cada hilo se carga en el constructor, como el segundo hilo puede cambiar el identificador del primero.
Responder Con Cita