La fonction InternetGetCookie me lance une AccessVioloationException [Résolu]

juju8684 22 Messages postés mercredi 28 février 2007Date d'inscription 31 mai 2007 Dernière intervention - 7 mai 2007 à 10:05 - Dernière réponse : juju8684 22 Messages postés mercredi 28 février 2007Date d'inscription 31 mai 2007 Dernière intervention
- 7 mai 2007 à 14:47
Bonjour à tous,

Ce post pour savoir si quelqu'un a déjà rencontré le même problème que moi : lorsque je veux utiliser le fonction InternetGetCookie de l'API Wininet.dll, le compilateur me lance une exception :
AccessViolationException : Tentative de lecture ou d'écriture de mémoire partagée. Cela indique souvent qu'une autre mémoire est endommagée.

Si vous avez rencontré ce problème et trouvé la solution pourriez vous m'aider ??

Merci

Une développeuse désespérée
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 7 mai 2007 à 14:43
1
Merci
Effectivement le 3ième paramètre recoit un buffer pour stocker les données du cookie et le dernier paramètre recoit la taille des données du cookie.

Private

Declare Auto Function InternetGetCookie
Lib "wininet.dll" (
ByVal lpszUrl
As String,
ByVal lpszCookieName
As String,
ByVal lpszCookieData
As System.Text.StringBuilder,
ByRef lpdwSize
As Integer) As Boolean

Pour l'utiliser c'est un peu plus qu'une seule ligne (voir lien msdn pour comprendre)
(ici on écrira le contenu du cookie dans un fichier texte.

dim szdata as new system.text.stringbuilder()
dim isize as integer=0

dim bret as boolean=InternetGetCookie("http://www.vbfrance.com",nothing,szdata,isize)

if bret=false and size>0 then

   szdata=new system.text.stringbuilder(isize)
   InternetGetCookie("http://www.vbfrance.com",nothing,szdata,isize)

   my.computer.filesystem.writealltext("C:\TonCookieVBFrance.com.txt",szdata.tostring(),false)

end if

+

Merci cs_Willi 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Willi
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 7 mai 2007 à 11:21
0
Merci
Bonjour,
Peux-tu nous donner la définition de cette fonction ? Il se peut que tu es mal définit certains paramètres.

++
Commenter la réponse de cs_Willi
juju8684 22 Messages postés mercredi 28 février 2007Date d'inscription 31 mai 2007 Dernière intervention - 7 mai 2007 à 11:56
0
Merci
Je la déclare ainsi :

Private

Declare
Function InternetGetCookie
Lib
"wininet.dll"
Alias
"InternetGetCookieA" (
ByVal lpszUrlName
As
String,
ByVal lpszCookieName
As
String,
ByVal lpszCookieData
As
String,
ByVal lpdwSize
As
Long)
As
Boolean

et l'utilise ainsi :

bret = InternetGetCookie(urlz, cookiename, hbcookieval,

CType(255,
Long))

Merci pour votre aide
Commenter la réponse de juju8684
juju8684 22 Messages postés mercredi 28 février 2007Date d'inscription 31 mai 2007 Dernière intervention - 7 mai 2007 à 14:47
0
Merci
Ok merci je comprend mieux
Commenter la réponse de juju8684

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.