problemas al Controlar el escaner via ActiveX ocx

problemas al Controlar el escaner via ActiveX ocx

Postby jfafive » Tue Dec 23, 2008 5:45 pm

Hola,

Estoy usando una librería trial ocx para crear un dialogo que me permita controlar el escaner independientemente al software que trae.

He probado la siguiente secuencia de comandos:

Code: Select all  Expand view
function Main()

   local oScan

   oScan := TOleAuto():New( "csXImageTrial.ImageBox" )

   oScan:WaitForAcquire    := .t.
   oScan:UseTwainInterface := .f. // Evitamos que llame al software del escaner.

   oScan:SelectTWainDevice() // Seleccionamos el escaner a utilizar

   MsgInfo( "Before" )
   oScan:Acquire()  // escaneamos
   MsgInfo( "After" )

return nil


Cuando ejecuto este código, funciona bien, es decir, muestra el mensaje 'Antes', lueso escanea y finalmente, muestra 'Después'

Lo curioso es que si ejecuto esta misma secuencia asignada a un ACTION de un botón en mi diálogo de recurso, se produce la siguiente ejecución:

Muestra 'Antes', escanea y luego no muestra el mensaje 'Después'. Pero mi aplicación no se bloquea. sigue funcionando y puedes pulsar otros botones y salir del dialogo.

Al principio pensé que se trataba de la librería en sí, pero probé con otra librería muy similar que tambien usa activex y los resultados fueron los mismos.

En fín, que parece que hay algo que le molesta cuando ejecuto desde diálogo y no sé que hacer.

:cry:
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella

Postby Antonio Linares » Tue Dec 23, 2008 6:16 pm

Javier,

Mira a ver si te sirve la libreria que hizo Rafa (thefull):

www.fivetechsoft.com/files/utilities/tscan32.zip
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby RenOmaS » Tue Dec 23, 2008 7:13 pm

Experimenta utilizar lo siguiente:

Code: Select all  Expand view
   Local oErr
...
   MsgInfo( "Before" )
   TRY
      oScan:Acquire()  // escaneamos
   CATCH oErr
      MsgAlert( "Error: " + oErr:Operation + " -> " + oErr:Description )
   END
   MsgInfo( "After" )
Saludos/regards
RenOmaS

skype: americo.balboa
User avatar
RenOmaS
 
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Postby Rafael Clemente » Tue Dec 23, 2008 8:00 pm

Javier:
Yo utilizo csxImage y va muy bien. El truco está en abrirlo como ActiveX. Más o menos así:
Code: Select all  Expand view
oImgBox := TActiveX():New(Self, "csXImageTrial.ImageBox")

//--- Y a partir de ahora, utiliza Do(), SetProp() y GetProp().  Así:

oImgBox:Do("SelectTwainDevice")
oImgBox:SetProp("WaitForAcquire", .t. )
oImgBox:SetProp("UseTwainInterface", .F.) // Evitamos que llame al software del escaner.
oImgBox:Do("Acquire")
etc etc...


Antonio me ayudó mucho porque TActiveX tenía unas incompatibilidades que al final pudimos resolver (bueno; casi todo lo hizo él). Esto fue a finales de mayo, así que para que te funcione necesitarás la versión FWH 8.07 o posterior

Por cierto, la gente de csxImage también colaboró mucho, incluyendo unas funciones para manejo de colores, ya que con los datos OLE_COLOR originales no hubo forma de que funcionase. Espero que esto ayude. Feliz Navidad!

Rafael
User avatar
Rafael Clemente
 
Posts: 365
Joined: Sat Oct 08, 2005 7:59 pm
Location: Barcelona, Spain

Postby Antonio Linares » Tue Dec 23, 2008 8:45 pm

Aclarar que las incompatibilidades que se resolvieron fueron con el manejo de eventos :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jfafive » Wed Dec 24, 2008 1:39 pm

Antonio, TScan32 fué la primera opción que estudié. Pero se me queda corto para lo que necesito.

RenOamS, buen intento y gracias. Pero las pruebas no han funcionado.

Rafa, como bien dices, necesitaré la versión FWH 8.07.

En fin, gracias por vuestros consejos. Os deseo una feliz noche buena.
Y no os paseis con la cominda. :lol:
jfafive
 
Posts: 396
Joined: Tue Mar 18, 2008 9:41 pm
Location: Marbella


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 37 guests