khamine
Messages postés27Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 2 septembre 2005
-
24 août 2005 à 18:50
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
25 août 2005 à 15:03
salut tous le monde.
j'ai essayé de me connecter a une base de données dans un thread mais ca marche pas. alors j'ai crée une nouvelle classse ou je me connecte a la base, si j'appelle cette classe en dehors du tread ca marche mais dans le thread ca me renvoi la meme erreure que ds le premier ca "accés violation". si qlq1 a une solution ou une autre idée merci de me la faire comminiquer.
merci et bonne chonce a tous.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 24 août 2005 à 19:21
Je ne vois pas d'ou ca vient, malgré ta description ultraprécise du problème. Et je vois pas en quoi la création d'une classe pourrait te porter secours
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 24 août 2005 à 19:25
dans WinMain():
if(S_OK != CoInitializeEx(NULL, COINIT_MULTITHREADED)) return 0;
Je fais avec ADO, idem pour autre méthode du moment que c'est du COM:
_ConnectionPtr doit être initialisé dans le même thread que tout ce qui s'en servira, son CreateInstance(__uuidof(Connection)) comme tout le reste.
khamine
Messages postés27Date d'inscriptionsamedi 9 octobre 2004StatutMembreDernière intervention 2 septembre 2005 25 août 2005 à 10:46
Mercie pour vos reponses; BruNews j'ai pas compris se que tu veux dire par initialisé ds le mm thread moi j'utilise dao sur VC++ avec l'instentiation et tous(normale quoi).
vecchio56 j'ai utilisé une nouvelle calsse ou je me connecte a la DB si j'execute la classe toute seule ca marche impec mais si je l'appelle a traves le thread ca bloc (accés violation)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 25 août 2005 à 11:04
On ne doit plus faire de DAO depuis 1998, MS le mentionne depuis cette époque très lointaine. Il n'y aura pas de portage 64 bits pour DAO, alors débuter un nouveau code sur DAO fin 2005, c'est peut-être abusé, non ?
Utilise ADO au lieu de DAO.
ciao...
BruNews, MVP VC++
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 25 août 2005 à 15:03
Pour ton histoire de thread je t'ai expliqué plus haut, le pointeur database est valide dans le thread qui le crée.
Ensuite si c'est du MFC (ce que je crois mais non indiqué) je ne pratique plus ce sabir depuis des lustres donc je ne saurais pas t'aider. Essaie d'initialiser ta classe CtrucDB dans le thread qui l'utilisera.