FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cargar y mostrar un archivo PDF RESUELTO
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Cargar y mostrar un archivo PDF RESUELTO
Posted: Wed Feb 26, 2014 02:28 AM

Amigos foreros:

Es posible cargar una archivo .PDF y mostrarlo en una dialogo?, he buscado aquí en el foro pero
los ejemplos son con .BMP, .JPG, etc., cuando trato de ajustarlo a .PDFs no lo logro.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 06:16 AM
Hola espero te sea útil :-)

Code (fw): Select all Collapse
FUNCTION VerPDFF(cFichero)

Local oDlg,cFicheroo,oActiveX

oQry := TDolphinQry():New( "SELECT * FROM polizario order by archivo" )


DEFINE DIALOG oDlg RESOURCE "DIALOGPDF" TITLE "POLIZA EN FORMATO PDF--->"+" "+ oQry:poliza
oDlg:lHelpIcon:=.F.
REDEFINE ACTIVEX oActiveX ID 800 OF oDlg PROGID "AcroPDF.PDF.1"

ACTIVATE DIALOG oDlg  CENTERED ;
ON INIT (oActiveX:Do( "LoadFile", ALLTRIM(cFichero) ),oActiveX:Do( "SetCurrentPage", 1 )  ) //NOMODAL

RETURN NIL
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 03:16 PM

Aida:

Gracias por el ejemplo, sería posible ver los recursos del mismo?, me interesa
ver que control usas para el ActiveX. Uso PellesC.

Necesito alguna DLL o algo más?

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 03:29 PM
Mira se ayuda:

Code (fw): Select all Collapse
// USANDO o ADOBE READER - 25/11/2013 - DIRETO VIA FIVEWIN 13.06

FUNCTION ShowPDF_READER( cAlias ) 

   LOCAL oWndPdf, oPdf, cTmp, NFEVisualSUM, nNumNfeSUM, nRecNo, oTaskP

   nRecNo     := ( cAlias )->( RecNo() ) //-> CCE.DBF
   GoTo( nRecNo )

   nNumNfeSUM := VAL( SUBSTR( ( cAlias )->CHAVE, 29, 6 ) )

   NFEVisualSUM := "C:\NFEPDF\"+"CCE"+ALLTRIM( STR( nNumNfeSUM ) )+".PDF"

   MsgWait( "LOCALIZANDO O ARQUIVO DA CARTA DE CORRECAO", ;
            "AGUARDE UM MOMENTO POR FAVOR...           ", 1.5 )

   // USANDO ADOBE READER DIRETO VIA CODIGO - ACTIVEX DO FWH13.06 - 26/11/2013
   IF .NOT. FILE( NFEVisualSUM )  

      RETURN NIL

   ENDIF

   DEFINE WINDOW oWndPdf TITLE "FiveWin ActiveX Support - Visualizar/Imprimir o *.PDF Usando o Adobe Reader"

   oPdf := TActiveX():New( oWndPdf, "AcroPDF.PDF.1" )

   oWndPdf:oClient := oPdf

   oPdf : src = NFEVisualSUM

   // Mostra Preview Pequeno no lado esquerdo da tela...
   // oPdf:Do( "SetPageMode", "thumbnail and pages" )

   oPdf:SetProp( "Src", cTmp )

   oPdf:Do( "LoadFile", Lfn2Sfn(cTmp) )

   oPdf:Do( "GetVersions" )

   oPdf:Do( "SetCurrentPage", 1 )

   // oPdf:Print() // Nao funciona direto na impressora..

   // Mostra a Barra de Botoes do ADOBE READER
   oPdf:Do( "SetShowToolbar", .T. )

   // Liga/Desliga barra de Scroll do lado direto do Adobe Reader
   oPdf:Do( "SetShowScrollbars", .T. )  // Liga/Desliga Scroll

   ACTIVATE WINDOW oWndPdf MAXIMIZED  ;
            ON INIT( PDFActivex( oPdf ) ) ;  // EM CARTA.PRG
            VALID( oWndPdf := NIL, oPdf:End(), .T. )

RETURN NIL

FUNCTION PDFActivex( MyProgID )

   LOCAL adretor := .T.
 
   if IsActivex( "PDF.PdfCtrl.1" ); MyProgID := "PDF.PdfCtrl.1"; endif
   if IsActivex( "PDF.PdfCtrl.2" ); MyProgID := "PDF.PdfCtrl.2"; endif
   if IsActivex( "PDF.PdfCtrl.3" ); MyProgID := "PDF.PdfCtrl.3"; endif
   if IsActivex( "PDF.PdfCtrl.4" ); MyProgID := "PDF.PdfCtrl.4"; endif
   if IsActivex( "PDF.PdfCtrl.5" ); MyProgID := "PDF.PdfCtrl.5"; endif
   if IsActivex( "PDF.PdfCtrl.6" ); MyProgID := "PDF.PdfCtrl.6"; endif
   if IsActivex( "PDF.PdfCtrl.7" ); MyProgID := "PDF.PdfCtrl.7"; endif
   if IsActivex( "acroPDF.PDF.1" ); MyProgID := "acroPDF.PDF.1"; endif
   if IsActivex( "acroPDF.PDF.2" ); MyProgID := "acroPDF.PDF.2"; endif

   IF Empty( MyProgID )

      MsgInfo( "PDF Activex não instalado !!!"+CRLF+" É necessário que seja instalado o programa ADOBE READER, consulte o suporte do sistema.",.F.)

      adretor := .F.

   ENDIF

RETURN(adretor)


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 05:29 PM
Karinha:

Muchas gracias por el ejemplo, estoy ajustándolo a mis necesidades pero me tira un error

Este es el código modificado:
Code (fw): Select all Collapse
STATIC FUNCTION ShowPDF_READER()
   LOCAL oWndPdf, oPdf, cTmp, cFilePdf

   cFilePdf := oApp:cPathAdj + ALLTRIM(oRsAdj:Fields("ADJ_FIL"):Value)  // Tomo el nombre del archivo PDF de una tabla

    IF .NOT. FILE(cFilePdf)
        MsgInfo("No existe el archivo que desea mostrar !",oApp:cAlicacion)
        RETURN(.F.)
    ENDIF

   DEFINE WINDOW oWndPdf TITLE "Soporte ActiveX - Visualizar un achivo  *.PDF Usando Adobe Reader"
       oPdf := TActiveX():New( oWndPdf, "AcroPDF.PDF.1" )

       oWndPdf:oClient := oPdf

        oPdf:Src := cFilePdf

        // Muestra una vista previa pequeña en el lado izquierdo de la ventana
        // oPdf:Do( "SetPageMode", "thumbnail and pages" )

        oPdf:SetProp( "Src", cTmp )
        oPdf:Do( "LoadFile", Lfn2Sfn(cTmp) )
        oPdf:Do( "GetVersions" )
        oPdf:Do( "SetCurrentPage", 1 )

        // Muestra la barra de botones de ADOBE READER
        oPdf:Do( "SetShowToolbar", .T. )

        // Liga/Desliga barra de Scroll do lado direto do Adobe Reader
        oPdf:Do( "SetShowScrollbars", .T. )  // Liga/Desliga Scroll

   ACTIVATE WINDOW oWndPdf MAXIMIZED ON INIT(PDFActivex( oPdf )) VALID(oWndPdf := NIL, oPdf:End(), (.T.))
RETURN NIL


/*
============================================================================
============================================================================
*/
FUNCTION PDFActivex( MyProgID )
   if IsActivex( "PDF.PdfCtrl.1" ); MyProgID := "PDF.PdfCtrl.1"; endif
   if IsActivex( "PDF.PdfCtrl.2" ); MyProgID := "PDF.PdfCtrl.2"; endif
   if IsActivex( "PDF.PdfCtrl.3" ); MyProgID := "PDF.PdfCtrl.3"; endif
   if IsActivex( "PDF.PdfCtrl.4" ); MyProgID := "PDF.PdfCtrl.4"; endif
   if IsActivex( "PDF.PdfCtrl.5" ); MyProgID := "PDF.PdfCtrl.5"; endif
   if IsActivex( "PDF.PdfCtrl.6" ); MyProgID := "PDF.PdfCtrl.6"; endif
   if IsActivex( "PDF.PdfCtrl.7" ); MyProgID := "PDF.PdfCtrl.7"; endif
   if IsActivex( "acroPDF.PDF.1" ); MyProgID := "acroPDF.PDF.1"; endif
   if IsActivex( "acroPDF.PDF.2" ); MyProgID := "acroPDF.PDF.2"; endif

   IF Empty( MyProgID )
      MsgInfo( "PDF Activex no instalado !" + CRLF + " Es necesario que sea instalado el programa ADOBE READER, consulte a suporte de sistemas.",oApp:cAplicacion)
      RETURN(.F.)
   ENDIF
RETURN(.T.)


Y este es parte del error.log:
Code (fw): Select all Collapse
Application
===========
   Path and name: C:\SarWin\SarWin.Exe (32 bits)
   Size: 2,048,512 bytes
   Time from start: 0 hours 0 mins 11 secs 
   Error occurred at: 26/02/2014, 11:24:46
   Error description: Error BASE/1005  Message not found: TACTIVEX:_SRC

Stack Calls
===========
   Called from: source\rtl\tobject.prg => TACTIVEX:ERROR(172)
   Called from: source\rtl\tobject.prg => TACTIVEX:MSGNOTFOUND(205)
   Called from: source\rtl\tobject.prg => TACTIVEX:_SRC(0)
   Called from: C:\SarWin\Source\SarWin1b.Prg => SHOWPDF_READER(1039)
   Called from: C:\SarWin\Source\SarWin1b.Prg => (b)EDITAR(652)
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:LDBLCLICK(0)
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:LDBLCLICK(0)
   Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:LDBLCLICK(0)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: .\source\classes\CONTROL.PRG => TXBROWSE:HANDLEEVENT(0)
   Called from: .\source\classes\WINDOW.PRG => _FWH(0)
   Called from:  => DIALOGBOX(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(0)
   Called from: C:\SarWin\Source\SarWin1b.Prg => EDITAR(688)
   Called from: C:\SarWin\Source\SarWin1b.Prg => (b)LABARRA(462)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK(0)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP(0)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(0)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT(0)
   Called from: .\source\classes\WINDOW.PRG => _FWH(0)
   Called from:  => WINRUN(0)
   Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE(0)
   Called from: C:\SarWin\Source\SarWin.Prg => MAIN(125)

System
======
   CPU type: Intel(R) Pentium(R) CPU G645 @ 2.90GHz 2900 Mhz
   Hardware memory: -311 megs

   Free System resources: 90 %
        GDI    resources: 90 %
        User   resources: 90 %

   Compiler version: xHarbour build 1.1.0 Intl. (SimpLex) (Rev. 6195)
   Windows version: 6.2, Build 9200 

   Windows total applications running: 60
      1 MSCTFIME UI
      2 Default IME
      3 GDI+ Window
      4 Conmutación de tareas
      5 RFLed
      6 HPBeatsOSD
      7 Network Flyout
      8 Adobe Reader
      9 Soporte ActiveX - Visualizar un achivo  *.PDF Usando Adobe Reader
     10 sw
     11 DDE Server Window
     12 transport Window
     13 _acroT_win
     14 _acroS_win
     15 Consulta a solicitud
     16 © 2014 Sistema para Administrar Requisiciones Build 26/Feb/2014 localhost
     17 xMate - C:\SarWin\SarWin.xhp
     18 MED CX - [C:\SarWin\Source\SarWin1b.Prg]
     19 Debug window C:\SarWin\SarWin.Exe (0 errors, 0 warnings)
     20 Skype™ - <!-- e --><a href="mailto:aresbu@outlook.com">aresbu@outlook.com</a><!-- e -->
     21 100% completado
     22 JavaUpdate SysTray Icon
     23 CWNPTransportImpl
     24 DPHelper
     25 WinAMRestoreWnd
     26 HelperMsgListenerWnd
     27 About
     28 LED HOTKEY SETUP-HPID09
     29 LED HOTKEY KEYBOARD-HPID09
     30 HIDUSBKEYMSG
     31 PDI_Status_Indicator_Window
     32 PDI_DTPopupMgr_Wnd
     33 BATTERY INDICATOR - HPID09
     34 OSD Manager
     35 HIDList 2.20.00 (Release)
     36 CLML Window
     37 C:\Users\Armando\AppData\Roaming\Skype
     38 Microsoft Office OneNote 2007 - Barra de tareas de Windows
     39 Sigmatel-IDT-SysTray
     40 PersistWndName
     41 HkWndName
     42 MS_WebcheckMonitor
     43 BluetoothNotificationAreaIconWindowClass
     44 Windows Push Notifications Platform
     45 Medidor de la batería
     46 Microsoft-Windows-CDesktopAppSpaceElement-4BF42B71-EA88-489E-917F-495A116C3596
     47 FWSesAlWndTitle
     48 SYM_AVPAPP_WINDOW_NAME_{1BE293D4-E7AD-4314-B8C9-C088A7CC1E69}
     49 {2E534F4D-897B-467E-92EF-604ABD3D1C5D}
     50 ccSvcHst
     51 Task Host Window
     52 EXPLORER
     53 HP My Display
     54 {94F11419-869E-47aa-9563-F48591285CAD}
     55 IgfxExt_Wnd_Name
     56 Portrait Display SDK Helper for 64 bits OS
     57 HookManager
     58 Malwarebytes Anti-Malware
     59 DWM Notification Window
     60 Program Manager

Variables in use
================
   Procedure     Type   Value
   ==========================
   TACTIVEX:ERROR
     Param   1:    C    "Message not found"
     Param   2:    C    "TACTIVEX"
     Param   3:    C    "_SRC"
     Param   4:    N    1005
     Local   1:    U    
     Local   2:    O    Class: TACTIVEX
     Local   3:    N    16
   TACTIVEX:MSGNOTFOUND
     Param   1:    C    "_SRC"
     Param   2:    O    Class: TACTIVEX
   TACTIVEX:_SRC
     Param   1:    C    ".\Adjuntos\FACTURA DV91790.PDF"
   SHOWPDF_READER
     Local   1:    O    Class: TWINDOW
     Local   2:    O    Class: TACTIVEX
     Local   3:    U    
     Local   4:    C    ".\Adjuntos\FACTURA DV91790.PDF"
   (b)EDITAR
     Param   1:    N    39
     Param   2:    N    94
     Param   3:    N    1
     Param   4:    O    Class: TXBROWSE


Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 05:40 PM

? cFilePdf := oApp:cPathAdj + ALLTRIM(oRsAdj:Fields("ADJ_FIL"):Value) // Tomo el nombre del archivo PDF de una tabla

Que retorna?

Cual és tú versión de FiveWin?

Esta function funciona bién con mi five FWH13.06.

salu2.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 05:44 PM

Karinha:

? cFilePdf := oApp:cPathAdj + ALLTRIM(oRsAdj:Fields("ADJ_FIL"):Value) // Tomo el nombre del archivo PDF de una tabla
Que retorna?
Regresa el nombre del archivo .PDF que deseo mostrar, (.\Adjuntos\Poliza Correcta.Pdf) y el archivo sí existe

Cual és tú versión de FiveWin?
FWH0810

Esta function funciona bién con mi five FWH13.06.
Puede ser?

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 06:03 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 06:36 PM
  • Regresa el nombre del archivo .PDF que deseo mostrar, (.\Adjuntos\Poliza Correcta.Pdf) y el archivo sí existe

Paisa en los Windows recientes tienes que decirle exactamente donde esta el archivo
intenta:
cFilePdf := "Poliza Correcta.Pdf"
cRuta := "\"+CurDir()+'\adjuntos\' + cFilePdf

saludos.

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Cargar y mostrar un archivo PDF
Posted: Wed Feb 26, 2014 10:37 PM

elimina espacios en blancos en la variable o campo que contiene el nombre del archivo
usualmente

FIELD->NOMBRE // 100 espacios
?FIELD->NOMBRE //"c:\polizas\tmp\poliza_102030.pdf .............." aca los puntos son espacios en blanco ya que el foro elimina los espacios en blanco

?file( FIELD->NOMBRE ) //falso
?file( rtrim( FIELD->NOMBRE ) //ok

ya me paso en una ocacion.

salu2

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Cargar y mostrar un archivo PDF
Posted: Thu Feb 27, 2014 01:05 AM
Amigos:

Voy a contarles mis peripecias:

Estoy siguiendo el ejemplo de Karinha, pero como ya les comenté recibo un error:

César: Le puse la ruta completa como me sugieres pero no hay de piña
Carlos: Revisé que no haya espacios en blanco pero tampoco se soluciona.

Cambie a FWH1306 y el error desapareció pero ahora el TXBrowse no acepta los siguiente métodos
Code (fw): Select all Collapse
oBrx:bKeyDown               := { | nKey, nFlags | IIF(nKey == VK_DELETE,DltAdj(oDlg,oBrx),)}
oBrx:blDblClick             := { | nRow, nCol, nKey | MsgInfo("YES")}


No tira error simplemente se queda congelado como si fuera a enviar el famoso GPF.

Ya se hizo bolas el engrudo.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Cargar y mostrar un archivo PDF
Posted: Thu Feb 27, 2014 01:07 PM
Code (fw): Select all Collapse
#include "FiveWin.ch"
#include "xbrowse.ch"

function Main()

   local oDlg, oBrw, nKey := VK_RETURN

   DEFINE DIALOG oDlg SIZE 300, 200

   @ 0, 0 XBROWSE oBrw OF oDlg ARRAY { { "one","two","three" } } AUTOCOLS
      
   oBrw:CreateFromCode() 

   oBrw:bKeyDown   = { | nKey, nFlags | IIF( nKey == VK_DELETE, DltAdj( oDlg, oBrw ), ) }

   oBrw:bLDblClick = { | nRow, nCol, nFlags | MsgInfo( "Left Doble Click" ) }
      
   ACTIVATE DIALOG oDlg CENTER ON INIT ( oDlg:oClient := oBrw, oDlg:Resize() )

return nil

Static function DltAdj( oDlg, oBrw )

   ? "Wow... Go on..."

   oBrw:Refresh()

Return Nil


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Cargar y mostrar un archivo PDF
Posted: Thu Feb 27, 2014 04:02 PM
Karinha:

Tu ejemplo funciona muy bien pero mi código no va.
Simplemente se queda congelado, no hay GPF solo se queda congelado.

Este es el código de xBrowse

Code (fw): Select all Collapse
            oBrx:=TxBrowse():New(oFld:aDialogs[2])

                oBrx:nMarqueeStyle          := MARQSTYLE_HIGHLROW       // Con cursor de todo el renglón
                oBrx:nColDividerStyle       := LINESTYLE_LIGHTGRAY
                oBrx:nRowDividerStyle       := LINESTYLE_LIGHTGRAY
                oBrx:lColDividerComplete    := (.F.)                            // (.T.) Matiene siempre llena la pantalla
                oBrx:nHeaderHeight          := 25                               // Altura de los encabezados
                oBrx:nRowHeight             := 22                               // Altura del renglón
                oBrx:nHeaderLines               := 1                                // Número de líneas de encabezados
                oBrx:nDataLines             := 1                                // Número de líneas de detalle
                oBrx:nFooterHeight          := 20                               // Altura del footer
                oBrx:nFooterLines               := 1                                // Número de líneas en el footer
                oBrx:lFooter                    := (.T.)                            // Sí queremos línea de footer
                oBrx:lHScroll                   := (.F.)                            // Quitamos el scroll horizontal
                oBrx:bChange                    := { || PonImagen(oFld,oBrx,oImagen) }

            aCols[ 1]                           := oBrx:AddCol()
                aCols[ 1]:bStrData              := { || IF(oRsAdj:RecordCount() > 0,oRsAdj:Fields("ADJ_FIL"):Value,SPACE(1))}
                aCols[ 1]:cHeader           := "Nombre del archivo"
                aCols[ 1]:nHeadStrAlign     := AL_LEFT
                aCols[ 1]:nDataStrAlign     := AL_LEFT
                aCols[ 1]:nWidth                := 70

                oBrx:blDblClick             := { | nRow, nCol, nKey | MsgInfo("YES")}
               oBrx:l2007                       := (.F.)

                oBrx:nStretchCol                := STRETCHCOL_LAST

                oBrx:bClrHeader := { || {CLR_WHITE,CLR_BLACK} }
                oBrx:bClrStd        := { || {CLR_BLACK,CLR_WHITE} }
                oBrx:bClrFooter := { || {CLR_WHITE,CLR_BLACK} }
                oBrx:nRecSelColor   := oApp:nRowParClr                  // Triangulo de selección
                oBrx:bClrSel        := { || {CLR_BLACK,CLR_WHITE} }
                oBrx:bClrSel        := {|| IF( oRsAdj:AbsolutePosition % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
                oBrx:bClrSelFocus   := { || {oApp:nFClrFocus,oApp:nBClrFocus} }

                oBrx:bGoTop    := { || IF( ! oRsAdj:BOF() .AND. ! oRsAdj:EOF(), oRsAdj:MoveFirst(), ) }
                oBrx:bGoBottom := { || IF( ! oRsAdj:BOF() .AND. ! oRsAdj:EOF(), oRsAdj:MoveLast(), ) }
                oBrx:bBof      := { || oRsAdj:BOF() }
                oBrx:bEof      := { || oRsAdj:EOF() }
                oBrx:bBookMark := { | uBm | IF( oRsAdj:BOF() .AND. oRsAdj:EOF(), 0, IF( uBm == NIL, oRsAdj:BookMark, oRsAdj:BookMark := uBm ) ) }
                oBrx:bKeyNo    := { | n | IF( oRsAdj:BOF() .AND. oRsAdj:EOF(), 0, IF( n == NIL, oRsAdj:AbsolutePosition, oRsAdj:AbsolutePosition := n ) ) }
                oBrx:bKeyCount  := {|| oRsAdj:RecordCount() }

                oBrx:SetAdo(oRsAdj)
                oBrx:bClrStd    := {|| IF( oRsAdj:AbsolutePosition % oApp:nRowsInt == 0 ,{ CLR_BLACK, oApp:nRowParClr },{ CLR_BLACK, oApp:nRowNonClr }) }
                oBrx:nRecSelColor   := oApp:nRowParClr

            oBrx:CreateFromResource(201)


Nunca aparece el mensaje "YES"

Tal vez tengo algo mal en el script de compilación, uso xMate, si alguien tiene
un script que me proporcione será bienvenido.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Cargar y mostrar un archivo PDF
Posted: Thu Feb 27, 2014 04:27 PM
Armando, cambia el bLdblClick por:

Code (fw): Select all Collapse
 aCols[ 1]:bLDClickData := { |  nRow, nCol, nKeyFlags, oColumn |  ..........    }


Como ves debes definir uno para cada columna o asignar el mismo a todas
Prueba asi y nos cuentas que tal.
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Cargar y mostrar un archivo PDF
Posted: Thu Feb 27, 2014 04:45 PM

Cristóbal:

Gracias por la sugerencia, en realidad el browse tiene una sola columna y no uso la edición por celda,
en la versión 0810 va de 100 solo que no funciona el activex para mostrar los PDFs al cambiar de
versión a la 1306 es donde tengo atorado el chamaco.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero