![]() |
Servicios Windows y Thread con OCR
Mira, necesito hacer una mejoria en un software semana que viene y no lo se aun como hacer. Este es el cenario.
Hay que hacer vários scanner de vários documientos por dia(300 o mas), generando un archivo OCR. Esto ya se lo hace manualmente. Lo que deve ser hecho ahora es: Crea un servicio Windows. Y quando este servicio for startado, deve se iniciar una Thread y dentro desa Thread comienzar los scanners de los documentos y la generacion de ellos. Y deve ser asi: Sy un documento for 90% o mas de calidad, este esta aprobado si no, es desechado(descartado, no se se es asi q escribe) y vulve a ser scaneado nuevamente. Todo debe ser automatico, sin la presencia de mano. Impiezó el Windows Service, si abre una Thread y si lo hace. Ellos quieren en una Thread, para que la aplicación no se queda paralisada mientras se va haciendo el scaneamiento de las imagens. Una Thread con prioridad baja. No se como se hace estas cosas. Mi gustaria de una ayuda de los maestros deste forum. Gracias desde ahora!! |
Pues básicamente debes crearte una clase descendiente de la clase TThread y sobre-escribir(Override) el método Execute;), inclusive Delphi te ayuda a crear dicha clase, pues tiene un asistente(Wizard) que te lo hace todo;) ; en Delphi 7 yo lo hago así:
Me voy al menú File>New>Other... En la ventanita que te parece, debes seleccionar dentro de la ficha(pestaña) "New" la opcion "Thread Object" pulsamos el boton "Ok" y nos va a salir otra ventanita donde debemos indicarle el nombre de nuestra clase(class Name); en mi caso yo le he puesto por nombre de clase "TMyHilo", vos si querés le puedes poner cualquier nombre, en la opcion que dice Thread name lo puedes dejar en blanco,luego presionamos el boton "OK" y Delphi creará una unidad nueva, la cual contendrá el esqueleto de una nueva clase descendiente de TThread, inclusive con el método Execute override, listo para empezar a programar...;) Bueno aquí está como queda: Para ponerle prioridad Baja al Hilo se utiliza la propiedad "Priority" por ejemplo voy a crear una Instancia de mi clase TMyHilo: Espero haberte podido ayudar... Saludos...:) |
Bueno, lo hizo asi y funciono. Y ahora como hago para startar un servicio Windows y el ya startar mi thread que hizo.
|
Para crear un servicio debes crearte una "Aplicacion Servicio" es como crearte una nueva aplicacion, con la direfencia que ésta es de "Servicio",para lo cual te recomiendo guiarte con éste muy buen tutorial que te explica todo;)
Nota: Cabe destacar que es en una "aplicacion Servico" donde debes crearte tu clase Thread , para que lo puedas usar ahí mismo.;) Saludos...;) |
La franja horaria es GMT +2. Ahora son las 00:37:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi