Insisto, debes abstraer los problemas de la lógica general del programa. Si miras el código como todo uno, no podrás llegar a desarrollar algo extenso, la programación se trata de dividir un problema, en muchos problemas pequeños.
Viendo tu código (el del inicio del post, este último no se que es), abres el puerto en la línea 58, y en la línea 66 llamas a MostrarBytes, sin ningúna garantía de que el buffer datoRecibido haya recibido datos. Simplemente si no tenías nada conectado en el puerto serie, el código producirá inevitablemente un NullReferenceException. Y si hubiera un dispositivo conectado, puede suceder una condición de carrera donde primero evalúas el buffer y luego recibes los datos.
Una simple solución puede ser tener la variable datoRecibido inicializada con un array vacío a la espera de datos, total la estas extendiendo cada vez que recibes datos. Pese a esto que te digo, lo único que lograrás es no generar excepciones, dado que el programa fallará pq no resultará lo que espera el usuario.
Saludos.
__________________
delphi.com.ar
Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|