Accueil > Forum > > > > fonction dans dll qui fait planter programme
fonction dans dll qui fait planter programme
vendredi 24 avril 2009 à 14:09:26 |
fonction dans dll qui fait planter programme

pitch069
|
Bonjour, je travail actuellement sur un code C++, sous dev c++. j'utilise une dll au travers d'un *.lib et dans mon programme principal je fais appel a des fonctions de ma dll. Mon programme compile, me cree mon *.exe, cependant quand mon prgm arrive a une ligne de code ou je fais appel a une fonction presente dans la dll!, il plante et me met le message d'erreur windows : "emulateur_AOA.exe a renconté un probleme et doit fermer, vous pouvez envoyer le rapport d'erreur a Microsoft ... " Je n'arrive vraiment pas a comprendre ce qui se passe :  !! Si quelqu'un a une idée? Merci d'avance
|
|
vendredi 24 avril 2009 à 19:14:45 |
Re : fonction dans dll qui fait planter programme

ghuysmans99
|
Ta DLL est probablement buggée ... Recopie les fonctions une par une dans un EXE et teste-les en Debug. Tu verras la/les lignes où ça pose problème. 
|
|
lundi 27 avril 2009 à 16:53:05 |
Re : fonction dans dll qui fait planter programme

pitch069
|
Du coup j'ai abandonner ces librairies et je vais chercher dynamiquement mes fonctions de ma dll avec les routines : HINSTANCE load_lib = LoadLibrary("synchro.dll" ); ... La maintenant ca marche super bien  , enfin je croyais, je dois appeler la meme fonction plusieur fois, et la desque je l'appel plus de 10 fois, mon prgm se coupe et ca me met "monprgm.exe a rencontré un probleme et doit se fermer, vous pouver envoyer le rapport d'erreur a Microsoft ..." Je ne sais pas pourquoi, mais j'ai fait plusieurs test, je ne sais pas si c'est une coincidence ou pas, mais si je l'appel 9 fois ca marche, 10 fois ca marche, mais des que j'essaye de l'appeler 11 fois ca beug ! 
|
|
lundi 27 avril 2009 à 16:57:15 |
Re : fonction dans dll qui fait planter programme

pitch069
|
(Je peut ajouter que ma dll contient des fonctions pour ecrire sur une carte relié sur le port PCI de mon ordi, peut etre que ca a un rapport avec mon beug )
|
|
lundi 27 avril 2009 à 19:18:42 |
Re : fonction dans dll qui fait planter programme

ghuysmans99
|
Aucune idée du pourquoi, pose la question aux développeurs de la lib. Je ne pense pas que quelqu'un puisse t'aider ici. 
|
|
mardi 28 avril 2009 à 09:15:09 |
Re : fonction dans dll qui fait planter programme

pitch069
|
Je voudrais juste te montrer comment je fais appel a ma fonction dynamiquement, pour voir si le probleme viens peut etre de la :
ma fonction en question est (comme elle est déclaré dans le .h qui va avec la dll) : void WINAPI Program_Angle(int Card, int Channel, WORD Angle)
je peut vous montrer comment je fait pour appeler cette fonction :
// Déclarer un type de la fonction typedef void (PROGRAM_ANGLE) (int, int, WORD); // Déclarer les fonctions de la DLL PROGRAM_ANGLE *Program_Angle; // Récupérer l'adresse des fonctions en DLL Program_Angle = (PROGRAM_ANGLE *) GetProcAddress(load_lib, "Program_Angle" );
//appel de ma fonction dans le programme (*Program_Angle)(Card,(Channel-1),buffer[j]);
Peut etre je m'y prend mal pour appeler ma fonction??
|
|
mardi 28 avril 2009 à 10:08:26 |
Re : fonction dans dll qui fait planter programme

Pistol_Pete
|
Salut Si tu as accès au code de ta dll, alors poste le code de la fonction qui fait planté ton programme. Sinon, contacter les personnes qui ont écrit cette lib est effectivement une bonne idée. Tu peux aussi regarder dans la documentation de cette fonction pour savoir s'il y a certaine restriction. A+ ____________________________________________________________________________ Mon site internet : [ Lien ]
|
|
mardi 28 avril 2009 à 10:30:55 |
Re : fonction dans dll qui fait planter programme

pitch069
|
Malheureusement je n'ais pas acces au code de dll. J'ai essayer de contacter l'entreprise qui fornit cette dll, mais le gars qui s'occupe de soft est comme par hasard en vacance :( !!
Le probleme ne doit pas venir de leur dll de toute facon, car j'ai un .exe qui a été réaliser avec cette dll et qui tourne. Puis mon beug quand j'appel ma fonction le fait pour n'importe quel fonction de la dll.
Pense tu que la facon dont je m'y prend pour appeler ma fonction dynamiquement est bonne?
(Je viens aussi de m'apercevoir quand je fais du pas a pas en debug, je plante bien sur ma ligne d'appel de ma fonction et windows me met l'erreur "une violation d'acces (erreur de segmentation) est apparue dans votre programme" )
|
|
mardi 28 avril 2009 à 18:54:35 |
Re : fonction dans dll qui fait planter programme
|
mercredi 29 avril 2009 à 09:01:30 |
Re : fonction dans dll qui fait planter programme

pitch069
|
C'est bon probleme résolu, il fallai mettre le terme "WINAPI" lors de ma déclaration de fonction.
Merci pour votre aide!
|
|
Cette discussion est classée dans : fonction, programme, code, dll, planter
Répondre à ce message
Sujets en rapport avec ce message
Exportations de fonction EXE --> DLL [ par rclsilver02 ]
Voila. Je suis sur un projet qui pourra gérer des modules. Chaque module se trouver dans une DLL et pourra utiliser des fonction du programme principa
Ordre des fonction dans le .def d'une DLL [ par Mastersam ]
Bonjour je voudrais savoir comment déterminer l'ordre que vont avoir les fonctions d'une dll dans le fichier .def.Car pour l'instant j'ai défini 3 fon
Question sur les dll [ par flatou ]
Salut a tous Je me pose une question : soit un programme qui a effectuer un hook sur une fonction de la dll kernel32.dll. Si mon deuxieme programme co
Ecrire une Dll en C [ par sleep ]
Bonjour, j'ai écrit un programme en C sous VC++ et je voudrais pouvoir exporter certaines de ses fonction dans une Dll, comment dois-je proceder ?Sur
Fonction While multiple [ par oshin ]
Salut tout le monde,J'ai un problème tout bête..Dans mon programme j'ai inclus une fonction "While(1)" donc infini.. le probleme c'est que lorsque le
problème de passage de fonctions via dll [ par youppyy ]
Bonjour, J'ai deux fonctions sont enregistrées dans une dll ecrite en langage C sur Dec-c++ : J'ai une fonction A qui renvoie une donnée et une fonct
appeler une fonction c++ contenu dans dll avec de code c++ [ par avg ]
j'ai une fonction qui est sous une class dans un dll déclarer comme ce ci : [code=cpp]C_MORPHO_User::C_MORPHO_User()[/code] j'ai appeler dll avec Load
.dll [ par dhahrikhedher ]
comment ajouté un dll[code=cpp][/code]avec visual studio
stack overflow [ par ssana83 ]
Bonjour, j'ai réalisé un programme de création d'un arbre donc j'ai utilisé une fonction récursive. J'ai essayé le programme ça marche sauf avec certa
dll COM question!!! un truc qui me chiffone [ par darkpoulpo ]
bonjour, imaginons que nous avons, une dll avec une fonction qui créer une objet COM et la renvoi au programme X pour être utilisé... imagine que plu
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|