Asunto: Tenemos un programa en versión de prueba, en el que al ejectuar el menú "Sender Start" (inicio) a veces nos sale una nag en la que nos dice que no tenemos registrado el transmisor bluetooth que es un dispositivo conectado al USB, y tambien despues de unos minutos de prueba (escasos a nuestro parecer) nos vuelve a salir la nag de aviso y se corta el programa.
Vamos a debuguearlo para corregir posibles fallos de programación y que no nos moleste con las nag (para que tantos avisos, si ya sabemos que es de prueba), y además vamos a hacer que despues de los minutos escasos de prueba, siga funcionando, pues tenemos que probarlo exprimiendo todas sus posibilidades, para saber si realmente cumple con el fin que interesa darle.
Herramientas:
1º Debemos saber si está empacado y en que lenguaje de programación esta hecho, para saber que herramientas debemos utilizar, para el debugger.
Utilizamos un analizador por si está empacado el programa: en este caso he utilizado varios conocidos, Peid, RDG, Die, pero el
Exeinfo PE by A.S.L., es el que mejor me ha informado en este caso, que se trata de un Delphi versión 2010, y que no está empacado.
http://www.exeinfo.xwp.pl/ Seguimos atando cabos: Como Delphi permite de manera sencilla ejecutar trozos de código en respuesta a acciones o eventos (sucesos) que ocurren durante el tiempo que un programa se ejecuta. Por ejemplo, cuando se presiona un botón, la VCL captura la notificación estándar de windows, y detecta si hay algún método asociado al evento OnClick del botón. Si lo hay, manda ejecutar dicho método. Así que vamos a buscar los procedimientos asociados a los controles que nos interesan.
Hemos observado que la nag se muestra al pulsar el menú Start y despues de un tiempo de uso, tenemos dos controles que nos interesa debugguear al iniciarse el evento asociado a dichos controles. Así que vamos a utilizar un editor de recursos, para que nos de información al respecto.
En este caso he utilizado el eXeScope, y miramos en los controles del formulario MAIN (que es principal en inglés, es muy común en programación utilizar los nombres en ingles), pero puede ser cualquier otro que se le haya ocurrido al programador)
Hemos encontrado el objeto con el Captión del menú "&Start", que tiene asociado en el evento OnExecute, la función o procedimiento "acSenderStartExcute", de la cual tomamos nota.
(continuará ...)