RÉCUPÉRER L'URL EN COURS DANS VOS NAVIGATEURS (INTERNET EXPLORER, FIREFOX, OPERA

Kleidp Messages postés 124 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 10 février 2008 - 16 janv. 2008 à 21:16
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 30 déc. 2010 à 11:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44856-recuperer-l-url-en-cours-dans-vos-navigateurs-internet-explorer-firefox-opera

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
30 déc. 2010 à 11:30
bonjour à tous,

L'erreur CallBackOnConnectedDelegate vient du fait que l'objet DDEClient est supprimé par le Garbage Collector alors que du code non managé a encore une référence vers un event handler ou un "AddressOf". En fait, il faut appeler la méthode Dispose de DDEClient ou encadrer l'objet dans un bloc using. Je vais corriger l'utilisation dans frmMain.

ShareVB
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
18 août 2010 à 13:15
Voici ce que j'ai fait. MA variable "DDERegressi" est declarée en statique.
Et a chaque fois que j'en ai besoin je fais cette sequence :

DDERegressi = new DDEClient();
DDERegressi.Connect();
DDERegressi.TryExecute("CLIP|ADD", 200);
DDERegressi.Disconnect();

Chez moi ça fonction. Si ça peux t'aider
cs_H2000 Messages postés 9 Date d'inscription dimanche 9 avril 2006 Statut Membre Dernière intervention 7 janvier 2010
18 août 2010 à 10:23
Salut,

J'ai pas compris, où tu mets Connect/Disconnect ?

Merci
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
8 juin 2010 à 15:21
/*
CallBackOnConnectedDelegate a été detecté
Un rappel a été effectué sur un délégué récupéré par le garbage collector de type 'Projet!Win32.DDE.DDEClient+DdeCallbackHandler::Invoke'. Cela peut entraîner un arrêt brutal de l'application, des dysfonctionnements et des pertes de données. Lors du passage de délégués à du code non managé, ils doivent être maintenus actifs par l'application managée jusqu'à ce qu'il soit garanti qu'ils ne seront jamais appelés.
*/

Réponse probablement tardive mais peut etre utile pour ceux qui arriveraient apres.

J'ai eu besoin d'intégrer cette classe.
J'avais moi aussi ce problème que j'ai réussi à corrigé en déclarant en static la variable.
Je ne fais jamais de 'new', juste du Connect/Disconect et ça semble fonctionner.

Allez un petit 9.5 ... (juste pour ce petit bug qui est surement du aux mecanismes crosoft mais bon :))
zod331 Messages postés 9 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 8 mai 2011
6 févr. 2010 à 17:38
bonjour
cette source existe t-elle en c++ ?
joccd Messages postés 3 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 16 juillet 2009
16 juil. 2009 à 20:00
Est ce qu'il est possible d'utiliser ce code pour récupérer toutes les urls des onglets ouverts
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
7 mai 2009 à 19:59
Est-ce que tu fais bien un DDEClient.Disconnect entre chaque tour de boucle ?

ShareVB
jello840 Messages postés 1 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 28 avril 2009
16 avril 2009 à 15:04
Bonjour !

D'une part je trouve ton code très bien fait !

Mais je rencontre un souci, j'ai cherché à l'adapter à mes besoins ... mais un bug remonte !

Je dois faire une application qui récupére tous les URL visités sur les différents navigateurs !

Je me retrouve donc à faire un "for" pour chaque processus et lancer la connexion DDE pour avoir l'URL !!! Et là j'obtiens cette erreur que j'arrive pas à résoudre :

/*
CallBackOnConnectedDelegate a été detecté
Un rappel a été effectué sur un délégué récupéré par le garbage collector de type 'Projet!Win32.DDE.DDEClient+DdeCallbackHandler::Invoke'. Cela peut entraîner un arrêt brutal de l'application, des dysfonctionnements et des pertes de données. Lors du passage de délégués à du code non managé, ils doivent être maintenus actifs par l'application managée jusqu'à ce qu'il soit garanti qu'ils ne seront jamais appelés.
*/

Pourrais-tu m'aider pour résoudre mon problème ?

Merci d'avance,

Jérôme.
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
18 mars 2008 à 22:10
salut,

désolé pour le délai...le bug devrait être corrigé...

ShareVB
Kleidp Messages postés 124 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 10 février 2008
17 janv. 2008 à 14:28
Il y a une erreur d'accès mémoire si l'on ferme le navigateur après avoir exécuté le programme :(

Je n'arrive pas à corriger le bug (sûrement un pointeur)
Kleidp Messages postés 124 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 10 février 2008
16 janv. 2008 à 21:16
Exactement ce qu'il me faut :)

et commenté en plus 10/10