PB à toute heure et à tout moment. (à parcourir avec modération)

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 16: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


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

// 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")

IE.navigate("www.google.fr")



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

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



// 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 16:45:27

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 30-05-2006
Messages: 4682
Pépites: 1,016
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 17: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 17: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 17: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 17:37:29

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 30-05-2006
Messages: 4682
Pépites: 1,016
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 22: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