Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1439 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [delphi] Evenement NavigateComplete2 de IE via OLE :??: Zion help plz

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[delphi] Evenement NavigateComplete2 de IE via OLE :??: Zion help plz

n°315731
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 06:31:48  profilanswer
 

J'ai declare une variable OLE qui contient mon IE.
 
Style : IE : variant;
 
Maintenant je dois faire ouvrir une page a IE, et des qu'il a fini de la charger, lui faire ouvrir une seconde page...
 
Pour cela, je dois utiliser les evenements NavigateComplete ou NavigateComplete2 si je m'en refere a cela :  
 
http://msdn.microsoft.com/library/ [...] rowser.asp
 
Mais je sais pas comment les utiliser :cry:
 
Quelqu'un peux me filer un exemple ?
 
Merci, je galere trop la :'(
 
 
Previous question :

Citation :


bonjour,
 
Je dois faire une appli qui fait un bete TBrowserControl, ouvre une bete page php via ce TBrowserControl, tout en envoyant quelques donnees comme si un formulaire avait ete envoye.
 
J'ai truve un tuto sur le net :
 
http://bdn.borland.com/article/0,1410,26531,00.html
 
magnifique, super, pile poil ce qu'il me faut.
 
Alors ben j'ai voulu tester le truc.
 
J'ai fait de gros copiers/coller.
 
Exactement pareil, a la ligne pres. Le script asp identique, le code de la fonction sur le bouton identique, les memes noms de champ, tout pareil.  
 
Et je lance, ca compile du premier coup ( logique ).
 
Et je vois le resultat... riuen s'affiche, comme si rien n'avait ete envoye :heink:
 
Alors je me dis " c'est mon apache qui doit deconner". Je tente sur ifrance... pareil. L'apache de ma fac... spareil. ALors soit je suis debile neuneu a un point ultime ( je le sais deja) soit une couille dans le potage...
 
Vous pouvez m'aider ? :'(
 


Message édité par Tetedeiench le 23-02-2003 à 22:10:54
mood
Publicité
Posté le 23-02-2003 à 06:31:48  profilanswer
 

n°315732
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 06:33:13  profilanswer
 

Ou alors si vous avez la soluce avec Internet Explorer via OLE ( qui me fait la meme chose) je suis preneur itoo :o

n°315834
AZorbas
That's me , Alexis Zorbas !
Posté le 23-02-2003 à 14:41:14  profilanswer
 

tetedeiench a écrit :

Ou alors si vous avez la soluce avec Internet Explorer via OLE ( qui me fait la meme chose) je suis preneur itoo :o


 
 :bounce:  
 
+1
 
je suis intéressé aussi !
 
J'aimerais pouvoir envoyer des fichiers et des paramètres comme avec un formulaire classique sur un serveur mais via mon app delphi!
 
:hello:
 


---------------
www.astrocosmos.net, le portail belge francophone sur l'astronomie et les Sciences.
n°315962
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 19:28:21  profilanswer
 

AZorbas a écrit :


 
 :bounce:  
 
+1
 
je suis intéressé aussi !
 
J'aimerais pouvoir envoyer des fichiers et des paramètres comme avec un formulaire classique sur un serveur mais via mon app delphi!
 
:hello:
 
 


 
Donc up ;)
 
Azorbas, tu dois pouvoir en utilisant un TwebBrowser et en montrant la page...
 
Le probleme c'est que moi je veux que cet envoi de donnees soit automatique ( pas de formulaire) et surtout transparent a l'utilisateur...
 
Merci :)

n°315971
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-02-2003 à 19:58:23  profilanswer
 

Si tu n'as besoin d'afficher le que le résultat (la page retournée) et qu'il n'y a plus rien après (liens, images, autre formulaire, ...) y a une solution simple :
Tu fais un Post avec le TIdHTTP (HTTP Client, dans la palette Indy Client), ça te renvoie une page sous forme de chaîne, puis tu charges la page dans le TWebBrowser (y a moyen d'ouvrir une page en donnant son contenu plutôt que son URL)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°315981
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 20:07:26  profilanswer
 

antp a écrit :

Si tu n'as besoin d'afficher le que le résultat (la page retournée) et qu'il n'y a plus rien après (liens, images, autre formulaire, ...) y a une solution simple :
Tu fais un Post avec le TIdHTTP (HTTP Client, dans la palette Indy Client), ça te renvoie une page sous forme de chaîne, puis tu charges la page dans le TWebBrowser (y a moyen d'ouvrir une page en donnant son contenu plutôt que son URL)


 
j'y ai pense, mais malheureusement, apres, y a des trucs a faire :/ :cry:

n°315982
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 20:11:12  profilanswer
 

Remarque, je pourrai toujours m'en sortir en envoyant les infos via le login et le pass de l'utilisateur, et en ouvrant ensuite IE avec le login et le pass et en recuperant les infos de la BDD... mais c'est une maniere detournee peu elegante tu en conviendras :/

n°315997
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 20:32:28  profilanswer
 

J'ai essaye en faisant ca :
 

Code :
  1. procedure TForm1.BitBtn3Click(Sender: TObject);
  2. const
  3.   csOLEObjName = 'InternetExplorer.Application';
  4.   CRLF = #13#10;
  5. var
  6. IE        : Variant;
  7.   PostData: OleVariant;
  8.   Headers: OleVariant;
  9.   i: Integer;
  10. begin
  11. Headers := 'Content-Type: multipart/form-data; boundary=-----------------------------7cf87224d2020a';
  12. PostData :='-----------------------------7cf87224d2020a' + CRLF + 'Content-Disposition: form-data; name="meswel"' + CRLF + CRLF + 'hello2' + CRLF + '-----------------------------7cf87224d2020a--';
  13.     IE := CreateOleObject( csOLEObjName );
  14.     IE.Visible := true;
  15.     IE.Navigate('http://www.ocbase.com/essai2.php', EmptyParam, EmptyParam, PostData, Headers);


 
Ben DMC encore une fois :cry:

n°316000
youdontcar​e
Posté le 23-02-2003 à 20:36:18  profilanswer
 

tu peux utiliser ATL en delphi ? si oui, http://forum.hardware.fr/forum2.php3?post=25434&cat=10

n°316002
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 20:37:50  profilanswer
 

OH PUTAIN j'ai trouve l'erreur !
 
C'est a cause de ovh ! Il me cree une frame ! Il faut que je foute le lien directement :cry:
 
Spavrai ca :cry:
 
Y a moyen de dire a IE de charger la page puis d'envoyer les infos a une frame precise :??:

mood
Publicité
Posté le 23-02-2003 à 20:37:50  profilanswer
 

n°316004
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-02-2003 à 20:41:21  profilanswer
 

tetedeiench a écrit :


C'est a cause de ovh ! Il me cree une frame ! Il faut que je foute le lien directement :cry:
 


 
si c'est une redirection vers un autre serveur et que tu lui dis de garder l'adresse du domaine visible, il a pas vraiment d'autre choix que de créer une frame [:spamafote]
c'est comme les .fr.st etc.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316005
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 20:42:10  profilanswer
 

C'est mon .com :/
 
J'en ai absolument besoin moi :cry:
 
je fais comment :??: :cry:

n°316013
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 20:57:00  profilanswer
 

Marrant avec mon no-ip ca marche :heink:
 
Va falloir que j'envoie IE sur le no-ip, et que je le redirige direct sur le .com juste apres en forwardant les variables...
 
Quel bordel et quel merdier fini.
 
c'aurait ete si simple sans ce putain de truc a la ovh :cry:
 
Ou alors, soluce 2, j'ouvre le .com, et des que c'est fini, j'ouvre la page dans la frame cree par ovh, avec la bonne page...
 
c'est une bonne solution... et ca marche.
 
antp, tu connais l'evenement de IE pour dire "page finie de charger ?:"
 
Et comment l'implementer sans avoir d'objet sur la form "Ole", juste une variable globale...
 
Merci...


Message édité par Tetedeiench le 23-02-2003 à 20:59:09
n°316014
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-02-2003 à 20:58:56  profilanswer
 

Sur OVH tu peux pas faire un forward sans frame ?
Genre VHOST ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316015
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 20:59:39  profilanswer
 

antp a écrit :

Sur OVH tu peux pas faire un forward sans frame ?
Genre VHOST ?


 
Si j'ai un VHOST...
 
C'est ce qu'il faut que j'utilise ? je teste.

n°316016
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 21:01:09  profilanswer
 

antp a écrit :

Sur OVH tu peux pas faire un forward sans frame ?
Genre VHOST ?


 
le champ VHOST est possible uniquement sur  
 
 
240plan/pack, 720plan/pack, mediaplan/pack et xxlplan/pack
 
Mouarf.
 
Nan, il me faut une redirection invisible avec frame...
 
Comment je dis a mon prog "Attends que la page soie chargee avant d'aller sur le prochain ?"

n°316017
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-02-2003 à 21:01:11  profilanswer
 

Je sais pas s'il y a moyen de transmettre les données du POST...


Message édité par antp le 23-02-2003 à 21:01:42

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316019
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 21:03:49  profilanswer
 

antp a écrit :

Je sais pas s'il y a moyen de transmettre les données du POST...


 
Si, via un truc grace a indyclient, je sais que la rfame ou se trouve mon site s'apelle "ORT"
 
Une fois la page chargee, je peux dire a IE d'ouvrir la page que je veux dans la frame "ORT" via une seconde ligne de code "navigate".
 
Et ca amrche, je viens de tester sur deux boutons separes.
 
Je sais que IE a un evenement "NavigateComplete", ce qui me permettrai d'enchainer les deux...
 
mais je sais pas l'utiliser :/

n°316020
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 21:04:36  profilanswer
 

http://msdn.microsoft.com/library/ [...] rowser.asp
 
Je veux juste dire a mon prog delphi : "Quand evenement NavigateComplete fait ca".
 
:??:
 
Sans avoir d'objet dans le GUI :/

n°316053
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 22:11:15  profilanswer
 

prout :/

n°316057
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-02-2003 à 22:24:49  profilanswer
 

heu si ça s'appelle NavigateComplete2, pourquoi par ICQ tu me parlais de NavigateComplete ?
Tu as essayé IE.NavigateComplete2 := .... ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316060
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 22:36:23  profilanswer
 

Y a les deux qui existent :D
 
et ca rends exactement la meme erreur :/

n°316061
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 22:38:35  profilanswer
 

   IE.NavigateComplete2 := TForm1.OnNavigateComplete;
 
=> Not enough actual parameters.
 
Et voila mon OnNavigatecomplete :
 
procedure TForm1.OnNavigateComplete(Sender : Tobject; pDisp : variant; URL : Variant);
 
:'(
 

n°316062
Tetedeienc​h
Head Of God
Posté le 23-02-2003 à 22:39:59  profilanswer
 

hey j'y pense, skoi le type d'un evenement ?
 
Du moins ici, du pointer vers cet evenement ?
 


Message édité par Tetedeiench le 23-02-2003 à 22:41:44
n°316081
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-02-2003 à 23:54:29  profilanswer
 

heu t'es sûr qu'il faut le param "sender" ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°316087
Tetedeienc​h
Head Of God
Posté le 24-02-2003 à 00:02:01  profilanswer
 

antp a écrit :

heu t'es sûr qu'il faut le param "sender" ?  


 
non, mais sans ou avec c'est pareil, alors...

n°316593
zion
Plop
Posté le 24-02-2003 à 15:32:26  profilanswer
 


Le NavigateComplete2 c'est celui que tu es censé utiliser, ils ont pas le choix de laisser les autres déclarations donc si ils veulent en modifier une ils en rajoutent une, et donc utilise celle la.
 
Par contre la t'es pas clair:
 
 

Citation :

j'y ai pense, mais malheureusement, apres, y a des trucs a faire :/ :cry:

 
 
Tu veux faire quoi exactement?
 
Sinon y a une solution à 2 euros, tu fous un TWebBrowser sur ton form, tu le fous en non visible et ca ira  :D


---------------
Informaticien.be - Lancez des défis à vos amis
n°316754
Tetedeienc​h
Head Of God
Posté le 24-02-2003 à 18:28:54  profilanswer
 

zion a écrit :


Le NavigateComplete2 c'est celui que tu es censé utiliser, ils ont pas le choix de laisser les autres déclarations donc si ils veulent en modifier une ils en rajoutent une, et donc utilise celle la.
 
Par contre la t'es pas clair:
 
 

Citation :

j'y ai pense, mais malheureusement, apres, y a des trucs a faire :/ :cry:

 
 
Tu veux faire quoi exactement?
 
Sinon y a une solution à 2 euros, tu fous un TWebBrowser sur ton form, tu le fous en non visible et ca ira  :D  


 
En fait, j'ai besoin de lancer un IE, d'envoyer des infos en meme temps que le lancement, et ensuite, l'utilisateur continue de remplir un formulaire classique...
 
Et comme ovh me fait chier ( sic ), il faut que j'ouvre une premiere page entierement, avant de pouvoir charger la seconde e envoyant les infos, ce qui affichera le formulaire...
 
En gros, je dois faire :
 
-Lancer IE
-Aller page de garde
-Une fois page de garde chargee, aller sur page de formulaire en envoyant des donnees
-remplir formulaire blabla... controle a l'utilisateur now.
 
Mon probleme se situe ici : Une fois page de garde chargee
 
Comment on peux savoir si elle est finie ? Je voudrais utiliser l'evenement NavigateComplete2 ... mais comment le capter dans mon appli delphi ?
 
 

n°316823
zion
Plop
Posté le 24-02-2003 à 19:33:23  profilanswer
 


j'en sais rien  :whistle:  
 
enfin quoique, tu peux utiliser le DDE, ca marche pas trop mal encore:
 
http://www.graphcomp.com/info/specs/nets/ddeapi.html
 
ce sont les mêmes pour IE (sauf 2-3 qui existent pas, y a un doc chez MS, faut le retrouver).


---------------
Informaticien.be - Lancez des défis à vos amis
n°316850
Tetedeienc​h
Head Of God
Posté le 24-02-2003 à 20:23:37  profilanswer
 

ok, mais bon, je viens de trouver que tant que IE travaille, la variable IE.busy est a 1  :whistle:  
 
Bon ok spa tres propre mais spratique :D

n°316852
taureau
Posté le 24-02-2003 à 20:28:43  profilanswer
 

je ne suis pas sur d'avoir saisi tu veux te brancher sur l'évenement OnNavigateComplete2 de to WebBrowser ?
 
ben tu déclares une procedure du style
 
procedure WebNavigateComplete2(Sender: TObject;pDisp: IDispatch; var URL: OleVariant);
 
 
et tu branches ton navigateur
 
MonBrowser.OnNavigateComplete2 := WebNavigateComplete2;
 
mais il doit y avoir un truc que je n'ai pas compris car ça me semble simple  :ange:  :D  
 
 

n°316862
taureau
Posté le 24-02-2003 à 20:38:32  profilanswer
 

ah ok tu as aussi une frame donc il faut vérifier que tout est bien charger...je te conseille d'aller faire un tour tu y trouveras des réponses pour savoir comment déterminer qu'une page à bien fini de se charger

n°316868
zion
Plop
Posté le 24-02-2003 à 20:43:34  profilanswer
 


En effet j'ai déjà du aller demander des trucs la  :o  
 
Mais euh, ils m'ont jamais répondu  :fou:


---------------
Informaticien.be - Lancez des défis à vos amis
n°316871
Tetedeienc​h
Head Of God
Posté le 24-02-2003 à 20:47:41  profilanswer
 

Taureau a écrit :

je ne suis pas sur d'avoir saisi tu veux te brancher sur l'évenement OnNavigateComplete2 de to WebBrowser ?
 
ben tu déclares une procedure du style
 
procedure WebNavigateComplete2(Sender: TObject;pDisp: IDispatch; var URL: OleVariant);
 
 
et tu branches ton navigateur
 
MonBrowser.OnNavigateComplete2 := WebNavigateComplete2;
 
mais il doit y avoir un truc que je n'ai pas compris car ça me semble simple  :ange:  :D  
 
 
 


 
On a essaye, et ca a rendu une erreur.
 
Et oui j'ai un putain de frame, donc il faut que je charge la page une fois, comme ca la page contient mon site dans la frame de redirection ovh, ensuite je dis a IE d'envoyer les donnees sur la nouvelle page a ouvrir dans la frame ovh... quel merdier entre nous :/
 
Mais IE.busy marche bien a priori ( meme si c'est pas documente sur le site de microsoft :lol: :D )

n°316872
taureau
Posté le 24-02-2003 à 20:47:49  profilanswer
 

:D  
 
mais bon il me semble avoir lu plusieurs trucs sur comment détecter qu'une page à bien fini de tout télécharger...mais j'ai la flemme de refaire les recherches  :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [delphi] Evenement NavigateComplete2 de IE via OLE :??: Zion help plz

 

Sujets relatifs
[Delphi] p'tit problème conversion cpp vers delphi[delphi inside] comment simuler un clik a l'ecran ?
VB+Modelisation moleculaire.... help[delphi]Taille de fenêtre
Logiciel équivalent au module base de données de Delphi[DELPHI] comment récupérer le chemin ...
[Delphi / VB] Besoin de comprendre un code Delphi (résolu)[Access] Methodologie pour construire mon projet (Help plz!)
[c] : void value not ignored as it ought to be : help[Delphi] Assembleur et traduction...
Plus de sujets relatifs à : [delphi] Evenement NavigateComplete2 de IE via OLE :??: Zion help plz


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR