Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » Lancement une seule instance IE - chargement nouvelle URL

#1 14-12-2007 15:42:16

yafou2  
Membre
Date d'inscription: 14-12-2007
Messages: 4
Pépites: 19
Banque: 0

Lancement une seule instance IE - chargement nouvelle URL

Bonjour à tous

Je lance un navigateur IE (avec une url en paramètre) depuis une application PowerBuilder,
ça fonctionne actuellement avec l'instruction "winexec(iexplore, 1)"

note: winexec provient de l'api "kernel32.dll", à mon sens c'est comme un run

je souhaiterai avoir le fonctionnement suivant:

- si IE est déjà lancé: ne pas en lancer un autre et lui passer une url (par exemple avoir un objet OLE et effectuer un navigate(newURL) sur l'objet)

- si IE n'est pas lancé, je le lance en lui donnant mon url.

j'ai ici ou là des bouts de code qui fonctionnent plus ou moins mais je n'arrive pas à trouver THE solution qui marche

voici les bouts de scripts que j'utilise :

Code: pb

/// code 1 : tentative de création d'un objet OLE  InternetExplorer

IE = CREATE OLEObject
IE.ConnectToNewObject("InternetExplorer.Application")

// comment lancer IE now ?  je fais comme suit mais c'est ko : je récupère le fullName de IE , 
// c'est pas somme si j'avais un vrai objet OLE que je pouvais controler: 

ls_ie = IE.FullName()
Run (ls_ie + " " + "www.yahoo.com")

// ne fonctionne pas.. malgré tout l'instruction  IE.ConnectToNewObject("InternetExplorer.Application") était ok //elle : 
IE.navigate("www.google.fr")


/// code 2 : essai avec FindWidow pour voir si IE est lancé :
// note : findWido a été déclaré dans local external objects

long hwnd2
hwnd2 = FindWindowA("scicalc","Microsoft Internet Explorer")  

if hwnd2 =0 then
  run("iexplore.exe")
end if

// ça ne marche pas comme souhaité mais ça fonctionne si je remplace Microsoft Internet Explorer par "Calculatrice" et "iexplorer.exe" par "calc" ! preuve que le principe n'est pas bête pour déterminer si l'appli est déja lancée ou non


// conclusion :

J'ai l 'impression de ne pas être loin de la solution mais y'a encore un peu de chemin à faire ;)

Ce que j'essaie de faire n'a pas l'air trop compliqué mais je ne suis pas trés calé en PB

Je précise que je suis en PB 5 (...) et qu'il n'est pas envisageable d'intégrer directement un navigateur IE dans l'appli PB (on veut lancer un IE)

Merci pour votre attention et pour votre aide ! n'hésitez pas à me demander des précisions.

Hors ligne

 

#2 14-12-2007 15:45:27

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Lancement une seule instance IE - chargement nouvelle URL


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 14-12-2007 16:12:25

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: Lancement une seule instance IE - chargement nouvelle URL

yafou2 a écrit:

...Je précise que je suis en PB 5 (...)

...et Windows 3.1 ?
Vous pensez migrer vers Windows 95 un jour ?


never let people work on more than one thing at once.

Hors ligne

 

#4 14-12-2007 16:12:44

yafou2  
Membre
Date d'inscription: 14-12-2007
Messages: 4
Pépites: 19
Banque: 0

Re: Lancement une seule instance IE - chargement nouvelle URL

pick ouic a écrit:

http://64.18.163.122/rgagnon/pbdetails/pb-0202.html

J'ai effectivement essayé ce qui est mentionné dans ce lien mais qui s'avère infructueux, voici pourquoi :


Le code donné est :

Code: pb

OLEObject IE
string ls_ie
string ls_url

IE = CREATE OLEObject
IE.ConnectToNewObject("InternetExplorer.Application")

ls_ie = IE.Fullname ()

ls_url = "http://wwww.server.com/myWebApp?file=error.log"
Run (ls_ie + " " + ls_url)



Or à mon sens (mais je peux me tromper) le Run fonctionne car on a récupéré le fullname de l'objet OLE (c'est à dire: C:/programes files/..)

d'ailleurs si on execute des opérations sur l'objet OLE IE  (par exemple IE.navigate(..)) ça ne fonctionne pas

si on va un peu plus loin sur la page on trouve ce code:

Code: pb

string ls_OldURL
string ls_NewURL = 'www.yahoo.com'

// Go to Document
ls_OldURL = IE.LocationURL
IE.Navigate (ls_NewURL)

// Wait for Document to start loading
DO WHILE ls_OldURL = IE.LocationURL
  Yield ()
LOOP

// Wait for Document to finish Loading
DO WHILE IE.Busy
 Yield ()
LOOP


Je lai tourné dans tous les sens : ça ne fonctionne pas

si quelqu'un arrive à le faire marcher je dis bravo ^^

Hors ligne

 

#5 14-12-2007 16:15:34

yafou2  
Membre
Date d'inscription: 14-12-2007
Messages: 4
Pépites: 19
Banque: 0

Re: Lancement une seule instance IE - chargement nouvelle URL

shahin a écrit:

yafou2 a écrit:

...Je précise que je suis en PB 5 (...)

...et Windows 3.1 ?
Vous pensez migrer vers Windows 95 un jour ?

je ne te le fais pas dire

hélas ça ne dépend pas de moi

Cependant ce que j'essaie de faire semble possible même en PB 5 :-)

@++

Hors ligne

 

#6 14-12-2007 16:37:29

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Lancement une seule instance IE - chargement nouvelle URL

tu es sur pb5 et win31 ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#7 14-12-2007 21:00:24

yafou2  
Membre
Date d'inscription: 14-12-2007
Messages: 4
Pépites: 19
Banque: 0

Re: Lancement une seule instance IE - chargement nouvelle URL

pick ouic a écrit:

tu es sur pb5 et win31 ?

non quand même pas pb5 et win XP ;)

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » Lancement une seule instance IE - chargement nouvelle URL

Pied de page des forums

Propulsé par FluxBB 1.2.22