1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Duvida Erro ao Carragar arquivo com OCX Webbrowser

Discussão em 'Progress 4GL' iniciado por ueluis, Julho 28, 2020.

  1. ueluis

    ueluis Membro Participativo

    Galera boa tarde,

    ao carregar o arquivo teste.html abaixo com a Ocx webrowser do progress está reportando um erro de Js, porém nos navegadores convencionais esse erro não ocorre podem me ajudar?

    c:\temp\teste.html

    Código:
    <html>
    <title>teste</title>
      <head>  
        <script src="https://www.gstatic.com/charts/loader.js" type="text/javascript"></script>
        <script type="text/javascript">
          google.charts.load('43', {'packages':['corechart']});
          google.charts.setOnLoadCallback(drawVisualization);
    
          function drawVisualization() {
            // Some raw data (not necessarily accurate)
            var data = google.visualization.arrayToDataTable([
              ['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Papua New Guinea', 'Rwanda', 'Average'],
              ['2004/05',  165,      938,         522,             998,           450,      614.6],
              ['2005/06',  135,      1120,        599,             1268,          288,      682],
              ['2006/07',  157,      1167,        587,             807,           397,      623],
              ['2007/08',  139,      1110,        615,             968,           215,      609.4],
              ['2008/09',  136,      691,         629,             1026,          366,      569.6]
            ]);
    
            var options = {
              title : 'Monthly Coffee Production by Country',
              vAxis: {title: 'Cups'},
              hAxis: {title: 'Month'},
              seriesType: 'bars',
              series: {5: {type: 'line'}}        };
    
            var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
            chart.draw(data, options);
          }
        </script>
      </head>
      <body>
        <div id="chart_div" style="width: 900px; height: 500px;"></div>
      </body>
    </html>
    
    arquivo: html.w

    Código:
    &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
    &ANALYZE-RESUME
    &Scoped-define WINDOW-NAME wWin
    {adecomm/appserv.i}
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wWin
    /*------------------------------------------------------------------------
    
      File:
    
      Description: from cntnrwin.w - ADM SmartWindow Template
    
      Input Parameters:
          <none>
    
      Output Parameters:
          <none>
    
      History: New V9 Version - January 15, 1998
             
    ------------------------------------------------------------------------*/
    /*          This .W file was created with the Progress AB.              */
    /*----------------------------------------------------------------------*/
    
    /* Create an unnamed pool to store all the widgets created
         by this procedure. This is a good default which assures
         that this procedure's triggers and internal procedures
         will execute in this procedure's storage, and that proper
         cleanup will occur on deletion of the procedure. */
    
    CREATE WIDGET-POOL.
    
    /* ***************************  Definitions  ************************** */
    
    /* Parameters Definitions ---                                           */
    
    /* Local Variable Definitions ---                                       */
    
    {src/adm2/widgetprto.i}
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
    
    /* ********************  Preprocessor Definitions  ******************** */
    
    &Scoped-define PROCEDURE-TYPE SmartWindow
    &Scoped-define DB-AWARE no
    
    &Scoped-define ADM-CONTAINER WINDOW
    
    &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
    
    /* Name of designated FRAME-NAME and/or first browse and/or first query */
    &Scoped-define FRAME-NAME fMain
    
    /* Standard List Definitions                                            */
    &Scoped-Define ENABLED-OBJECTS carregaHTML
    
    /* Custom List Definitions                                              */
    /* List-1,List-2,List-3,List-4,List-5,List-6                            */
    
    /* _UIB-PREPROCESSOR-BLOCK-END */
    &ANALYZE-RESUME
    
    
    
    /* ***********************  Control Definitions  ********************** */
    
    /* Define the widget handle for the window                              */
    DEFINE VAR wWin AS WIDGET-HANDLE NO-UNDO.
    
    /* Definitions of handles for OCX Containers                            */
    DEFINE VARIABLE xWeb AS WIDGET-HANDLE NO-UNDO.
    DEFINE VARIABLE chxWeb AS COMPONENT-HANDLE NO-UNDO.
    
    /* Definitions of the field level widgets                               */
    DEFINE BUTTON carregaHTML
         LABEL "carregaHTML"
         SIZE 19 BY 1.5.
    
    
    /* ************************  Frame Definitions  *********************** */
    
    DEFINE FRAME fMain
         carregaHTML AT ROW 29 COL 69 WIDGET-ID 52
        WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
             SIDE-LABELS NO-UNDERLINE THREE-D
             AT COL 1 ROW 1
             SIZE 153.72 BY 31.79 WIDGET-ID 100.
    
    
    /* *********************** Procedure Settings ************************ */
    
    &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
    /* Settings for THIS-PROCEDURE
       Type: SmartWindow
       Allow: Basic,Browse,DB-Fields,Query,Smart,Window
       Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
       Other Settings: APPSERVER
    */
    &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
    
    /* *************************  Create Window  ************************** */
    
    &ANALYZE-SUSPEND _CREATE-WINDOW
    IF SESSION:DISPLAY-TYPE = "GUI":U THEN
      CREATE WINDOW wWin ASSIGN
             HIDDEN             = YES
             TITLE              = "<insert SmartWindow title>"
             HEIGHT             = 31.79
             WIDTH              = 153.72
             MAX-HEIGHT         = 44.08
             MAX-WIDTH          = 274.29
             VIRTUAL-HEIGHT     = 44.08
             VIRTUAL-WIDTH      = 274.29
             RESIZE             = no
             SCROLL-BARS        = no
             STATUS-AREA        = no
             BGCOLOR            = ?
             FGCOLOR            = ?
             THREE-D            = yes
             MESSAGE-AREA       = no
             SENSITIVE          = yes.
    ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
    /* END WINDOW DEFINITION                                                */
    &ANALYZE-RESUME
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "SmartWindowCues" wWin _INLINE
    /* Actions: adecomm/_so-cue.w ? adecomm/_so-cued.p ? adecomm/_so-cuew.p */
    /* SmartWindow,ab,49271
    Destroy on next read */
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wWin
    /* ************************* Included-Libraries *********************** */
    
    {src/adm2/containr.i}
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    
    
    /* ***********  Runtime Attributes and AppBuilder Settings  *********** */
    
    &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
    /* SETTINGS FOR WINDOW wWin
      VISIBLE,,RUN-PERSISTENT                                               */
    /* SETTINGS FOR FRAME fMain
       FRAME-NAME                                                           */
    IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wWin)
    THEN wWin:HIDDEN = yes.
    
    /* _RUN-TIME-ATTRIBUTES-END */
    &ANALYZE-RESUME
    
    
    
    /* **********************  Create OCX Containers  ********************** */
    
    &ANALYZE-SUSPEND _CREATE-DYNAMIC
    
    &IF "{&OPSYS}" = "WIN32":U AND "{&WINDOW-SYSTEM}" NE "TTY":U &THEN
    
    CREATE CONTROL-FRAME xWeb ASSIGN
           FRAME           = FRAME fMain:HANDLE
           ROW             = 2.5
           COLUMN          = 5
           HEIGHT          = 25.5
           WIDTH           = 143
           WIDGET-ID       = 50
           HIDDEN          = no
           SENSITIVE       = yes.
    
    PROCEDURE adm-create-controls:
          xWeb:NAME = "xWeb":U .
    /* xWeb OCXINFO:CREATE-CONTROL from: {8856F961-340A-11D0-A96B-00C04FD705A2} type: WebBrowser */
          xWeb:MOVE-BEFORE(carregaHTML:HANDLE IN FRAME fMain).
    
    END PROCEDURE.
    
    &ENDIF
    
    &ANALYZE-RESUME /* End of _CREATE-DYNAMIC */
    
    
    /* ************************  Control Triggers  ************************ */
    
    &Scoped-define SELF-NAME wWin
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wWin wWin
    ON END-ERROR OF wWin /* <insert SmartWindow title> */
    OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
      /* This case occurs when the user presses the "Esc" key.
         In a persistently run window, just ignore this.  If we did not, the
         application would exit. */
      IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
    END.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wWin wWin
    ON ENTRY OF wWin /* <insert SmartWindow title> */
    DO:
       chxWeb:WebBrowser:Navigate("google.com.br").
    END.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wWin wWin
    ON WINDOW-CLOSE OF wWin /* <insert SmartWindow title> */
    DO:
      /* This ADM code must be left here in order for the SmartWindow
         and its descendents to terminate properly on exit. */
      APPLY "CLOSE":U TO THIS-PROCEDURE.
      RETURN NO-APPLY.
    END.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &Scoped-define SELF-NAME carregaHTML
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL carregaHTML wWin
    ON CHOOSE OF carregaHTML IN FRAME fMain /* carregaHTML */
    DO:
       chxWeb:WebBrowser:Navigate("file:///C:/wamp/www/Grafico/index.html").
    END.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &Scoped-define SELF-NAME xWeb
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL xWeb wWin OCX.BeforeNavigate2
    PROCEDURE xWeb.WebBrowser.BeforeNavigate2 .
    /*------------------------------------------------------------------------------
      Purpose:    
      Parameters:  Required for OCX.
        pDisp
        URL
        Flags
        TargetFrameName
        PostData
        Headers
        Cancel
      Notes:      
    ------------------------------------------------------------------------------*/
    
      DEFINE INPUT        PARAMETER p-pDisp           AS COM-HANDLE NO-UNDO.
      DEFINE INPUT        PARAMETER p-URL             AS CHARACTER NO-UNDO.
      DEFINE INPUT        PARAMETER p-Flags           AS CHARACTER NO-UNDO.
      DEFINE INPUT        PARAMETER p-TargetFrameName AS CHARACTER NO-UNDO.
      DEFINE INPUT        PARAMETER p-PostData        AS CHARACTER NO-UNDO.
      DEFINE INPUT        PARAMETER p-Headers         AS CHARACTER NO-UNDO.
      DEFINE INPUT-OUTPUT PARAMETER p-Cancel          AS LOGICAL NO-UNDO.
    
      IF p-URL BEGINS "http" THEN p-Cancel = TRUE.
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    &UNDEFINE SELF-NAME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wWin
    
    
    /* ***************************  Main Block  *************************** */
    
    /* Include custom  Main Block code for SmartWindows. */
    {src/adm2/windowmn.i}
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    /* **********************  Internal Procedures  *********************** */
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wWin  _ADM-CREATE-OBJECTS
    PROCEDURE adm-create-objects :
    /*------------------------------------------------------------------------------
      Purpose:     Create handles for all SmartObjects used in this procedure.
                   After SmartObjects are initialized, then SmartLinks are added.
      Parameters:  <none>
    ------------------------------------------------------------------------------*/
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE control_load wWin  _CONTROL-LOAD
    PROCEDURE control_load :
    /*------------------------------------------------------------------------------
      Purpose:     Load the OCXs   
      Parameters:  <none>
      Notes:       Here we load, initialize and make visible the
                   OCXs in the interface.                       
    ------------------------------------------------------------------------------*/
    
    &IF "{&OPSYS}" = "WIN32":U AND "{&WINDOW-SYSTEM}" NE "TTY":U &THEN
    DEFINE VARIABLE UIB_S    AS LOGICAL    NO-UNDO.
    DEFINE VARIABLE OCXFile  AS CHARACTER  NO-UNDO.
    
    OCXFile = SEARCH( "html.wrx":U ).
    IF OCXFile = ? THEN
      OCXFile = SEARCH(SUBSTRING(THIS-PROCEDURE:FILE-NAME, 1,
                         R-INDEX(THIS-PROCEDURE:FILE-NAME, ".":U), "CHARACTER":U) + "wrx":U).
    
    IF OCXFile <> ? THEN
    DO:
      ASSIGN
        chxWeb = xWeb:COM-HANDLE
        UIB_S = chxWeb:LoadControls( OCXFile, "xWeb":U)
      .
      RUN initialize-controls IN THIS-PROCEDURE NO-ERROR.
    END.
    ELSE MESSAGE "html.wrx":U SKIP(1)
                 "The binary control file could not be found. The controls cannot be loaded."
                 VIEW-AS ALERT-BOX TITLE "Controls Not Loaded".
    
    &ENDIF
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wWin  _DEFAULT-DISABLE
    PROCEDURE disable_UI :
    /*------------------------------------------------------------------------------
      Purpose:     DISABLE the User Interface
      Parameters:  <none>
      Notes:       Here we clean-up the user-interface by deleting
                   dynamic widgets we have created and/or hide
                   frames.  This procedure is usually called when
                   we are ready to "clean-up" after running.
    ------------------------------------------------------------------------------*/
      /* Delete the WINDOW we created */
      IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wWin)
      THEN DELETE WIDGET wWin.
      IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wWin  _DEFAULT-ENABLE
    PROCEDURE enable_UI :
    /*------------------------------------------------------------------------------
      Purpose:     ENABLE the User Interface
      Parameters:  <none>
      Notes:       Here we display/view/enable the widgets in the
                   user-interface.  In addition, OPEN all queries
                   associated with each FRAME and BROWSE.
                   These statements here are based on the "Other
                   Settings" section of the widget Property Sheets.
    ------------------------------------------------------------------------------*/
      ENABLE carregaHTML
          WITH FRAME fMain IN WINDOW wWin.
      {&OPEN-BROWSERS-IN-QUERY-fMain}
      VIEW wWin.
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wWin
    PROCEDURE exitObject :
    /*------------------------------------------------------------------------------
      Purpose:  Window-specific override of this procedure which destroys
                its contents and itself.
        Notes: 
    ------------------------------------------------------------------------------*/
    
      APPLY "CLOSE":U TO THIS-PROCEDURE.
      RETURN.
    
    END PROCEDURE.
    
    /* _UIB-CODE-BLOCK-END */
    &ANALYZE-RESUME
    
    
    
  2. baltazar

    baltazar Membro Participativo

  3. ueluis

    ueluis Membro Participativo

    obrigado pela resposta, as maquinas que rodam esta aplicação são totens com clientes xp e o navegador ultima versão é 8.
    terei que transformar todas consultas em services e recriar o portal 100% web php.

    ja havia testado essa solução funcionou para windows 7 e 10.

    att,

Compartilhe esta Página