cs_loic81
Messages postés26Date d'inscriptionjeudi 3 juillet 2003StatutMembreDernière intervention25 février 2004
-
23 févr. 2004 à 12:16
cs_loic81
Messages postés26Date d'inscriptionjeudi 3 juillet 2003StatutMembreDernière intervention25 février 2004
-
25 févr. 2004 à 10:53
J'ai fait un programme en C sous vc++6 qui lit un dans un fichier (en trottre) en utilsant la méthode des streams (fonction fread...).
Lorsque je le compile et j'exécute en .exe, ça fonctionne, mais lorsque je le compile en DLL "dynamic", le programme tourne, mais les infos ne sont pas lus dans le fichier...
si je change le nom du fichier à lire, le programme sort une erreur, cela veut donc dire que la dll va bien pointer sur le bon fichier...
Comment résoudre cela?
Le problème vient il d'une mauvaise option à activer ou à désactiver dans la config du projet sous visual c++6?
cs_loic81
Messages postés26Date d'inscriptionjeudi 3 juillet 2003StatutMembreDernière intervention25 février 2004 23 févr. 2004 à 15:02
c'est vrai, t'as raison.
je te donne un extrait de la dll en question :
dans le programme principal :
-appel d'une fonction qui va lire dans le fichier
-exportation des variables ; output->Braquage = valeur;
dans la fonction qui lit le fichier:
fichier_ref = fopen("Offsets_ref.txt", "r"); //ouverture/création du fichier
fsetpos(fichier_ref,&filepos); //on place le curseur à la position X
fread(buf, 1,11, fichier_ref); //on lit 1 * 11 carractères
valeur = strtod(buf,&endptr);
printf("valeur: %lf\n",valeur);
fclose(fichier_ref); //ferme le fichier
Remarque : les fonctions sont dans un header, déclaré au début du fichier principal par #include "fonctions_ess1_boitier.h
La lecture de "valeur" fonctionne lorsque le programme est compilé en .exe, mais pas lorsqu'il est exécuté en tant que DLL..
cs_loic81
Messages postés26Date d'inscriptionjeudi 3 juillet 2003StatutMembreDernière intervention25 février 2004 23 févr. 2004 à 18:24
merci brunews
mais je suis toujours bloqué : Est-ce qu'il n'y a pas des différences d'autorisations entre les dll et les exe??? puisque ça marche pas... d'ou est-ce que ça peut venir? quelqu'un aurait-il une solution ou une piste? un paramètre à vérifier dans la config du projet ou autre....
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_loic81
Messages postés26Date d'inscriptionjeudi 3 juillet 2003StatutMembreDernière intervention25 février 2004 24 févr. 2004 à 16:00
ok pour la création de la dll, mais dans le cpp et le def, je met quoi? simplement une petite fonction qui utilise la lecture du fichier?
le def, ça sert à quoi? c'est indispensable?