FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Imaqen desde Url solucionado ...
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM

Imaqen desde Url solucionado ...

Posted: Thu Dec 04, 2014 05:56 PM
Pues con este nuevo metodo para Timage ...
Falta que controle los posibles fallos si no existe la imagen en la url o asi, pero en principio funciona.Lo he probado con una imagen gif, jpg y png .
Tiene un problema y es que si llamamos a mas de una imagen , no llega a terminarse la carga de la imagen antes de que termine de la carga de la ventana .
Esto tendría que controlarse con el evento OnResponseFinished pero no se como hacerlo así que os lo dejo a vosotros.

Code (fw): Select all Collapse
METHOD LoadFromURL(cUrl ) CLASS TImage
local oHttp
local cResp 
  Try
      oHttp := CreateObject( "winhttp.winhttprequest.5.1" )
      oHttp:Open("GET", cUrl, .f. )
      oHttp:Send()
      cResp := oHttp:ResponseBody()
  Catch
      MsgStop( "Error" )
      Return .f.
  End Try
  
   ::LoadFromMemory( cResp )
   ::Refresh()
Return .t.
Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: Imaqen desde Url solucionado ...

Posted: Fri Dec 05, 2014 07:11 AM

Manuel,

Sencillamente genial :-)

Añadido ya para la próxima versión de FWH :-)

Muchas gracias!

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 730
Joined: Fri Oct 07, 2005 07:38 AM

Re: Imaqen desde Url solucionado ...

Posted: Mon Dec 22, 2014 03:14 PM
Buenas, amigos. No consigo hacer funcionar este nuevo método. Lo he pasado a función para no modificar (de momento) la clase, pero no me carga ninguna imagen. He probado a grabarla por si era un tema de refresco o similar pero entonces "petarda" el ejemplo.

Aquí dejo el código a ver si encontráis algún fallo. Gracias.

Code (fw): Select all Collapse
#include "FiveWin.ch"
#include "Image.ch"

//----------------------------------------------------------------------------//

function Main()

   Local oDlg, oImage

   DEFINE DIALOG oDlg FROM 0, 0 TO 25, 60
   @ 0, 0 IMAGE oImage SIZE 150, 150 OF oDlg SCROLL // ADJUST

   @ 1, 28 BUTTON "URL"   SIZE 50, 10 OF oDlg ACTION CargaImagenDesdeUrl (oImage,"http://forums.fivetechsupport.com/styles/prosilver/imageset/site_logo.gif")
   @ 2, 28 BUTTON "Salir" SIZE 50, 10 OF oDlg ACTION oDlg:End()
   
   ACTIVATE DIALOG oDlg CENTER

Return ( nil)

Function CargaImagenDesdeUrl (oImage,cUrl)
local oHttp
local cResp
  Try
      oHttp := CreateObject( "winhttp.winhttprequest.5.1" )
      oHttp:Open("GET", cUrl, .f. )
      oHttp:Send()
      cResp := oHttp:ResponseBody()
  Catch
      MsgStop( "Error cargando imagen" )
      Return .f.
  End Try

   oImage:LoadFromMemory( cResp )
   oImage:Refresh()
   msginfo (cUrl,"Imagen cargada")
Return (.t.)

Angel Salom

Visionwin Software - https://www.visionwin.com

fwh 24.07 - harbour 3.2 - bcc 7.7

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM

Re: Imaqen desde Url solucionado ...

Posted: Mon Dec 22, 2014 04:02 PM

¿ usas un proxi ?

Posts: 730
Joined: Fri Oct 07, 2005 07:38 AM

Re: Imaqen desde Url solucionado ...

Posted: Mon Dec 22, 2014 04:16 PM

No, lo he probado en el trabajo y en casa con el mismo resultado.

Angel Salom

Visionwin Software - https://www.visionwin.com

fwh 24.07 - harbour 3.2 - bcc 7.7

Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: Imaqen desde Url solucionado ...

Posted: Mon Dec 22, 2014 04:46 PM

Angel

Probé tu ejemplo y funciona.

Antonio / Manuel

Cómo se puede evitar la librería freeimage.dll con FWH1412

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 730
Joined: Fri Oct 07, 2005 07:38 AM

Re: Imaqen desde Url solucionado ...

Posted: Mon Dec 22, 2014 05:00 PM

Vaya, pues no sé a que pude ser debido ... :shock: :shock:

Angel Salom

Visionwin Software - https://www.visionwin.com

fwh 24.07 - harbour 3.2 - bcc 7.7

Posts: 44508
Joined: Thu Oct 06, 2005 05:47 PM

Re: Imaqen desde Url solucionado ...

Posted: Mon Dec 22, 2014 05:52 PM

Adhemar,

Estamos en ello, a ver si finalmente podemos eliminarla.

De momento hay que seguir usándola

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1713
Joined: Tue Oct 28, 2008 06:26 PM

Re: Imaqen desde Url solucionado ...

Posted: Mon Dec 22, 2014 06:37 PM

Perfecto.

Gracias.

Saludos,

Adhemar

Saludos,



Adhemar Cuéllar

Posts: 7348
Joined: Thu Oct 18, 2012 07:17 PM

Re: Imaqen desde Url solucionado ...

Posted: Tue Dec 23, 2014 10:25 AM
Antonio Linares wrote:Manuel,

Sencillamente genial :-)

Añadido ya para la próxima versión de FWH :-)

Muchas gracias!



Antonio,
I think the mastintin method need a modify :

If the user Have a Proxy the method LoadFromURL(cUrl ) not run ok




to add proxy it can be

Code (fw): Select all Collapse
#define HTTPREQUEST_PROXYSETTING_DEFAULT   0
#define HTTPREQUEST_PROXYSETTING_PRECONFIG 0
#define HTTPREQUEST_PROXYSETTING_DIRECT    1
#define HTTPREQUEST_PROXYSETTING_PROXY     2


#define HTTPREQUEST_SETCREDENTIALS_FOR_SERVER  0
#define HTTPREQUEST_SETCREDENTIALS_FOR_PROXY   1

METHOD LoadFromURL(cUrl ,lProxy, cUserName, cPassword,nPort,cProxy) CLASS TImage
local oHttp
local cResp 
  Try
     oHttp := CreateObject( "winhttp.winhttprequest.5.1" )

      if lProxy
         oHttp:SetProxy( HTTPREQUEST_PROXYSETTING_PROXY, cProxy+":"+alltrim(str(nPort)))
      endif


      oHttp:Open("GET", cUrl, .f. )

        if lProxy
         oHttp:SetCredentials(cUserName,cPassword,HTTPREQUEST_SETCREDENTIALS_FOR_PROXY)
      endif


      oHttp:Send()
      cResp := oHttp:ResponseBody()
  Catch
      MsgStop( "Error" )
      Return .f.
  End Try

   ::LoadFromMemory( cResp )
   ::Refresh()
Return .t.




I use it on Yahoo Meteo and Yahoo finance ( created by Mastintin)
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com

Continue the discussion