Para Antonio Linares.

Para Antonio Linares.

Postby Leon Valenzuela » Mon May 17, 2010 3:07 pm

Estimado Antonio, estoy en una situación más o menos incómoda... Necesito abrir una OCX de epson, y la verdad, en el foro, no hay indicio alguno de cómo hacerlo. Esto pertenece al manejo de una impresora fiscal, y necesito obtener resultados en un plazo muy breve, (Antes del 21 de mayo), anteriormente te envié algunas cosas que refieren a otro modelo de otra marca de este tipo de dispositovos, y aun no tengo respuesta alguna. Sólo necesito saber, cómo incrusto la ocx en mi código fuente para invocar las funciones... espero puedas ayudarme... a todo aquel que sepa del manejo de estas máquinas fiscales, le estaré agradecido...

Sin más que decir, un abrazo, Leo.
Quiero hacer facturación electrónica...

Leon Valenzuela.
Santiago - Chile.
User avatar
Leon Valenzuela
 
Posts: 57
Joined: Tue Nov 04, 2008 2:08 pm
Location: Santiago - Chile

Re: Para Antonio Linares.

Postby Antonio Linares » Mon May 17, 2010 6:23 pm

Leon,

Prueba asi (este ejemplo es con el otro OCX que me enviastes):
Code: Select all  Expand view

   DEFINE WINDOW oWnd TITLE "Test"

   oActiveX = TActiveX():New( oWnd, "OCXSAM350Lib.Ocxsam350" )

  oActiveX :init(2)
  oActiveX :abrirboleta(0, 0)
  oActiveX :agregaitem("Test", 1, 1)
  oActiveX :agregapago(0, 200)
  oActiveX :cierraboleta(0)
  oActiveX :fini()

  ACTIVATE WINDOW oWnd
 
regards, saludos

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

Re: Para Antonio Linares.

Postby Leon Valenzuela » Mon May 17, 2010 10:07 pm

Estimado Antonio, primero que nada, gracias por responder, segundo, al poner esta línea "oActiveX = TActiveX():New( oWnd, "OCXSAM350Lib.Ocxsam350" )", el sistema inmediatamente deja de funcionar, por qué? no lo sé.

Trabajo con fivewin 9.08 y xharbour.

Saludos, Leo.
Quiero hacer facturación electrónica...

Leon Valenzuela.
Santiago - Chile.
User avatar
Leon Valenzuela
 
Posts: 57
Joined: Tue Nov 04, 2008 2:08 pm
Location: Santiago - Chile

Re: Para Antonio Linares.

Postby Antonio Linares » Tue May 18, 2010 7:42 am

Leo,

Has comprobado en tus ejemplos que esta sea la descripción que usan ("PROGID") ?

"OCXSAM350Lib.Ocxsam350"
regards, saludos

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

Re: Para Antonio Linares.

Postby Leon Valenzuela » Tue May 18, 2010 3:21 pm

Estimado Antonio, he probado el abrir la ocx con un redefine en un diálogo, y por supuesto, también creando una ventana, de las dos formas el programa se cuelga.

Un abrazo, Leo.
Quiero hacer facturación electrónica...

Leon Valenzuela.
Santiago - Chile.
User avatar
Leon Valenzuela
 
Posts: 57
Joined: Tue Nov 04, 2008 2:08 pm
Location: Santiago - Chile

Re: Para Antonio Linares.

Postby Antonio Linares » Tue May 18, 2010 4:54 pm

Que PROGID estas usando ?

Si no usas el correcto, la aplicación no podrá crear el ActiveX.
regards, saludos

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

Re: Para Antonio Linares.

Postby Antonio Linares » Tue May 18, 2010 5:25 pm

Leo,

Por lo que te ha comentado Daniel, parece que el PROGID correcto es "EpsonFPHostControlX.EpsonFPHostControl"

Cada ActiveX tiene su propio PROGID que nos permite crearlo. Si se usa un PROGID equivocado, la aplicación no funciona.
regards, saludos

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

Re: Para Antonio Linares.

Postby Leon Valenzuela » Wed May 19, 2010 2:48 pm

Estimado Antonio, si bien es cierto, Daniel ha dado en el clavo, ahora me he entrampado en otra situación...

Hay algunos comandos que debo enviar a la impresora, éstos son hexadecimal, y no veo forma de enviarlos, pués no sé su equivalencia decimal, y menos aún, de qué forma representarlos con fwh...

Una de las tantas secuencias hexadecimal es la siguiente que está hecha en visual basic:

Code: Select all  Expand view
Private Sub Command5_Click()
   
    ' Obtención de las Caracteristicas fiscales'
    Me.EpsonFPHostControl1.AddDataField Chr$(&H2) & Chr$(&HA)  // Secuencia de comando hexadecimal
    Me.EpsonFPHostControl1.AddDataField Chr$(&H0) & Chr$(&H1)  // Secuencia de comando hexadecimal
   
    Me.EpsonFPHostControl1.SendCommand
   
    While EpsonFPHostControl1.State = EFP_S_Busy
        DoEvents
    Wend

    MsgBox "Fiscal: " & Hex(Me.EpsonFPHostControl1.FiscalStatus)
    MsgBox "Printer: " & Hex(Me.EpsonFPHostControl1.PrinterStatus)
    MsgBox "Return Code: " & Hex(Me.EpsonFPHostControl1.ReturnCode)
   
    MsgBox "Nombre de la Versión     : " & Me.EpsonFPHostControl1.GetExtraField(1)
    MsgBox "ID del País              : " & Me.EpsonFPHostControl1.GetExtraField(2)
    MsgBox "Versión de Firmware Mayor: " & Me.EpsonFPHostControl1.GetExtraField(3)
    MsgBox "Versión de Firmware Menor: " & Me.EpsonFPHostControl1.GetExtraField(4)
    MsgBox "Versión de Firmware Compi: " & Me.EpsonFPHostControl1.GetExtraField(5)
    MsgBox "ID del mecanismo impresor: " & Me.EpsonFPHostControl1.GetExtraField(6)

    MsgBox "Nombre Mecanismo Impresor: " & Me.EpsonFPHostControl1.GetExtraField(7)
    MsgBox "Capacidad Memoria fiscal : " & Me.EpsonFPHostControl1.GetExtraField(8)
    MsgBox "Capacidad Memoria Transac: " & Me.EpsonFPHostControl1.GetExtraField(9)
    MsgBox "Capacidad Memoria Trabajo: " & Me.EpsonFPHostControl1.GetExtraField(10)
    MsgBox "Jumper de Servicio Conect: " & Me.EpsonFPHostControl1.GetExtraField(11)
    MsgBox "Estado de los dip-switche: " & Me.EpsonFPHostControl1.GetExtraField(12)



End Sub

Por cualquier ayuda, de antemano, gracias.

Un abrazo, Leo.
Quiero hacer facturación electrónica...

Leon Valenzuela.
Santiago - Chile.
User avatar
Leon Valenzuela
 
Posts: 57
Joined: Tue Nov 04, 2008 2:08 pm
Location: Santiago - Chile

Re: Para Antonio Linares.

Postby Adolfo » Wed May 19, 2010 4:43 pm

Leon

EF:CreateObject("EpsonFPHostControlX.EpsonFPHostControl" )
.......

Comando:=Chr(10) + Chr(9)
EF:AddDataField(Comando)
EF:SendCommand()

Cuando necesties enviar mas de 2 caracteres de control debes hacer lo siguiente

Comando:=VtArrayWrapper(VT_UI1,(Chr(0) + Chr(0) + Chr(0) + Chr(0) )
EF:AddDataField(Comando)
EF:SendCommand()

Espero te sirva.

Saludos
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Para Antonio Linares.

Postby Leon Valenzuela » Thu May 20, 2010 8:41 pm

Estimado Antonio, sigo con problemas, pues envíe una cadena hexadecimal a la impresora, y obviamente no logré imprimir, pero si logré generarle un bloqueo por software, alguna pista?
Quiero hacer facturación electrónica...

Leon Valenzuela.
Santiago - Chile.
User avatar
Leon Valenzuela
 
Posts: 57
Joined: Tue Nov 04, 2008 2:08 pm
Location: Santiago - Chile

Re: Para Antonio Linares.

Postby Antonio Linares » Thu May 20, 2010 10:12 pm

Leo,

Esta secuencia:
EpsonFPHostControl1.AddDataField Chr$(&H2) & Chr$(&HA)

es equivalente a:
EF:AddDataField( Chr( 2 ) + Chr( 10 ) )
regards, saludos

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

Re: Para Antonio Linares.

Postby Gabriel Cortes » Wed Nov 16, 2011 7:15 pm

Estimado

Uso la ocx "ocxsam350.ocx"

Code: Select all  Expand view
     
        Dim Fiscal As OCXSAM350Lib.Ocxsam350
        Fiscal = New OCXSAM350Lib.Ocxsam350()

        Dim Valor As String

        Valor = Fiscal.init(2)
 


y en "Valor = Fiscal.init(2)" me arroja el siguiente error:

Error catastrófico (Excepción de HRESULT: 0x8000FFFF (E_UNEXPECTED))

Lo he intentado todo pero aun así no obtengo la solución
Ojala me puedan ayudar.

Saludos
Gabriel Cortes
 
Posts: 1
Joined: Wed Oct 26, 2011 2:09 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: nageswaragunupudi and 82 guests