begin process at 2012 05 28 05:05:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

acces violation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

acces violation

mardi 6 septembre 2005 à 09:45:38 | acces violation

mamag

Bonjour,

j'ai crée une DLL sous VC++ à l'aide de la librairie ADO, pour la tester j'ai créé un programme en c++ qui l'utilise, mais en mode debug, j'ai une erreur.
"error=unhandled exception in .exe: OxCOOOOOO5: Acces Violation"
je ne vois pas pourquoi j'ai cette erreur! et surtout à quoi elle correspond!
qd mon programme plante, voilà où le debugger m'emmène:
dans le fichier c:\...\VC98\include\comip.h
et voilà ou il pointe: 
// AddRefs only if the interface is not NULL
//
void _AddRef() throw()
{
if (m_pInterface != NULL) {
m_pInterface->AddRef();    // il pointe ici
}

je ne sais pas ce qu'est ce fichier comip.h et surtout d'où vient cette erreur!!!!

j'ai vraiment besoin d'aide car ca fait un moment que je tourne en rond!!!
merci.
mardi 6 septembre 2005 à 09:54:28 | Re : acces violation

DeAtHCrAsH

Les messages de violaton d'accès viennent le plus souvent de problème de pointeur qui pointe pas au bon endroit.
Le bout de code que tu nous montres gere une exception apparement du fait de la présence du throw.

Revoie ton code a tou les coups c'est toi qui génére l'exception lors d'un appelle.
Teste ton programme en mode Debug et déroule le pas a pas en vérifiant systématiquement les valeurs de tes pointeurs.

Shell
mardi 6 septembre 2005 à 10:13:16 | Re : acces violation

mamag

désolée mais étant débutante, je ne comprends pas ce qu'est la présence du throw.
et que m'apporte la valeur des pointeurs, comment dois je m'en servir.

merci de votre aide.
mardi 6 septembre 2005 à 10:15:54 | Re : acces violation

BruNews

Administrateur CodeS-SourceS
CoInitialize(NULL);
C'est fait en début de prog ?

ciao...
BruNews, MVP VC++
mardi 6 septembre 2005 à 10:19:06 | Re : acces violation

DeAtHCrAsH

Un pointeur représente une adresse mémoire qui contient des données.
Seuleument ce pointeur peut correspondre a une adresse ou il n'y a rien, d'ou le plantage des programmes utilisant des pointeurs mal initialisés.
Le throw est une instruction permettant de gérer les exceptions qui peuvent survenir dans un programme, ce qui évite souvent le plantage du programme en question.

Je n'y connais pas grand chose en ADO mais tu peux toujours m'envoyer ton code en zip a shellkode at hotmail.com
Je regarderai ce que je peux faire.

Shell
mardi 6 septembre 2005 à 10:22:59 | Re : acces violation

mamag

Merci pour vos explications, je vais essayer d'envoyer le programme

et sinon, non, je n'ai pas fait le CoInitialize(NULL); àquoi sert il?
mardi 6 septembre 2005 à 10:31:16 | Re : acces violation

DeAtHCrAsH

Au tout debut de ton programme dans le Main, écrit tout simplement CoInitialize(NULL).
Ca permet d'initialiser la objets COM.

Essaye de faire ca puis teste.

Shell
mardi 6 septembre 2005 à 10:42:18 | Re : acces violation

mamag

ok, ca à l'air de marcher, je n'ai plus de pb d'access violation.
mais le CoInitialize(NULL), je ne dois pas l'utiliser dans ma DLL?, je l'utilise juste dans le main?

en tout cas, merci de votre aide.
mardi 6 septembre 2005 à 10:55:38 | Re : acces violation

DeAtHCrAsH

Pour ne pas dire de bétise je dirai que non. Juste dans le main pour initialiser tes objets COM.
BruNews peux tu confirmer ?

Shell
mardi 6 septembre 2005 à 11:17:18 | Re : acces violation

BruNews

Administrateur CodeS-SourceS
Il serait cohérent qu'il soit dans la DLL, ça assure sa réusabilité.
Pour autant, si c'est toujours toi qui t'en sers alors no prob si est appelé depuis le prog utilisant la dll du moment que tu assures cet appel, il doit y avoir au moins 1 fois cet appel au niveau du processus.

ciao...
BruNews, MVP VC++

1 2

Cette discussion est classée dans : aide, programme, erreur, acces, violation


Répondre à ce message

Sujets en rapport avec ce message

erreur de violation access (violation d'acces) [ par pipic ] slt,J'ai une erreur de violation d'acces sous visual c++ à partir du code suivant (alors que ce code compile correctement sous dev cpp) :G déclaré la aide pour faire un programme [ par changina ] quelqu'un pourrais t'il m'aider à faire un programme qui réssoud une equation du second degré?meci d'avance erreur de demarrage programme [ par nango ] Quand je compile sous visual c++ il m'apparait le message d'erreur suivant : "un fichier.DLL requis, MSPDB60.DLL, n'a pas été trouvé".Pourtant ce fich lancer un programme :: erreur !!! [ par FLOPPY ] je voudrais savoir que me renvoie ShellExecute(NULL, NULL,"progalancer.exe", NULL, NULL, SW_HIDE)en cas d'erreurmerci d'avance !:D AIDE SVP ! Programme qui délogue l'utilisateur [ par guilt92 ] Bonjour.Je voudrais réaliser un programme, qui, sous NT, ferme la session d'un utilisateur si la session reste verouillée trop longtemps ou si l utili aide en ligne d'un programme perso [ par Tutu ] Bonjour à tous.Voilà je voudrais savoir comment faire pour créer une aide perso ? Que faut-il faire ? Et comment l'insérer dans une applic (genre SDI) AIDE programme supprimer un fichier ! SVP [ par nico ] salut à tous,je suis un gros nul en c++ , je viens de telecharger dev-c++ et j'aimerais faire mon premier programe tout simple pour supprimer un fichi Urgent : cherchez l erreur. [ par Goeland ] bonjour,me reste un peu moins de 36 heures pour finir un programme mais étant néophite je bloque sur un truc. J'utilise VC++6 et dans cette parti du p erreur "ne peut etre un read" [ par Sade ] Salut a tous le monde.Dans le programme que j'ai develoP, j'utilise le FileMapping pour pouvoir echange des données entre deux programme distinct fonc strcat() ???? [ par supergrey ] Salut tout le monde, jai un petit probleme avec la fonction strcat() , je commence a peine un programme que deja je bloque la dessus jaimerai de l'aid


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,073 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales