Evenement NavigateComplete2 de IE via OLE :??: Zion help plz [delphi] - Delphi/Pascal - Programmation
Marsh Posté le 23-02-2003 à 06:33:13
Ou alors si vous avez la soluce avec Internet Explorer via OLE ( qui me fait la meme chose) je suis preneur itoo
Marsh Posté le 23-02-2003 à 14:41:14
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 |
+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!
Marsh Posté le 23-02-2003 à 19:28:21
AZorbas a écrit : |
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
Marsh Posté le 23-02-2003 à 19:58:23
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)
Marsh Posté le 23-02-2003 à 20:07:26
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 : |
j'y ai pense, mais malheureusement, apres, y a des trucs a faire
Marsh Posté le 23-02-2003 à 20:11:12
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
Marsh Posté le 23-02-2003 à 20:32:28
J'ai essaye en faisant ca :
Code :
|
Ben DMC encore une fois
Marsh Posté le 23-02-2003 à 20:36:18
tu peux utiliser ATL en delphi ? si oui, http://forum.hardware.fr/forum2.php3?post=25434&cat=10
Marsh Posté le 23-02-2003 à 20:37:50
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
Spavrai ca
Y a moyen de dire a IE de charger la page puis d'envoyer les infos a une frame precise
Marsh Posté le 23-02-2003 à 20:41:21
tetedeiench a écrit : |
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
c'est comme les .fr.st etc.
Marsh Posté le 23-02-2003 à 20:42:10
C'est mon .com
J'en ai absolument besoin moi
je fais comment
Marsh Posté le 23-02-2003 à 20:57:00
Marrant avec mon no-ip ca marche
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
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...
Marsh Posté le 23-02-2003 à 20:58:56
Sur OVH tu peux pas faire un forward sans frame ?
Genre VHOST ?
Marsh Posté le 23-02-2003 à 20:59:39
antp a écrit : Sur OVH tu peux pas faire un forward sans frame ? |
Si j'ai un VHOST...
C'est ce qu'il faut que j'utilise ? je teste.
Marsh Posté le 23-02-2003 à 21:01:09
antp a écrit : Sur OVH tu peux pas faire un forward sans frame ? |
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 ?"
Marsh Posté le 23-02-2003 à 21:01:11
Je sais pas s'il y a moyen de transmettre les données du POST...
Marsh Posté le 23-02-2003 à 21:03:49
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
Marsh Posté le 23-02-2003 à 21:04:36
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
Marsh Posté le 23-02-2003 à 22:24:49
heu si ça s'appelle NavigateComplete2, pourquoi par ICQ tu me parlais de NavigateComplete ?
Tu as essayé IE.NavigateComplete2 := .... ?
Marsh Posté le 23-02-2003 à 22:36:23
Y a les deux qui existent
et ca rends exactement la meme erreur
Marsh Posté le 23-02-2003 à 22:38:35
IE.NavigateComplete2 := TForm1.OnNavigateComplete;
=> Not enough actual parameters.
Et voila mon OnNavigatecomplete :
procedure TForm1.OnNavigateComplete(Sender : Tobject; pDisp : variant; URL : Variant);
:'(
Marsh Posté le 23-02-2003 à 22:39:59
hey j'y pense, skoi le type d'un evenement ?
Du moins ici, du pointer vers cet evenement ?
Marsh Posté le 23-02-2003 à 23:54:29
heu t'es sûr qu'il faut le param "sender" ?
Marsh Posté le 24-02-2003 à 00:02:01
antp a écrit : heu t'es sûr qu'il faut le param "sender" ? |
non, mais sans ou avec c'est pareil, alors...
Marsh Posté le 24-02-2003 à 15:32:26
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 |
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
Marsh Posté le 24-02-2003 à 18:28:54
zion a écrit :
|
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 ?
Marsh Posté le 24-02-2003 à 19:33:23
j'en sais rien
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).
Marsh Posté le 24-02-2003 à 20:23:37
ok, mais bon, je viens de trouver que tant que IE travaille, la variable IE.busy est a 1
Bon ok spa tres propre mais spratique
Marsh Posté le 24-02-2003 à 20:28:43
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
Marsh Posté le 24-02-2003 à 20:43:34
En effet j'ai déjà du aller demander des trucs la
Mais euh, ils m'ont jamais répondu
Marsh Posté le 24-02-2003 à 20:47:41
Taureau a écrit : je ne suis pas sur d'avoir saisi tu veux te brancher sur l'évenement OnNavigateComplete2 de to WebBrowser ? |
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 )
Marsh Posté le 24-02-2003 à 20:47:49
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
Marsh Posté le 23-02-2003 à 06:31:48
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
Quelqu'un peux me filer un exemple ?
Merci, je galere trop la :'(
Previous question :
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
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