[VB6] Probleme avce l'exe généré et les chemin d'acces aux fichiers

cs_Axen Messages postés 49 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 24 mars 2010 - 5 juil. 2005 à 10:31
cs_Axen Messages postés 49 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 24 mars 2010 - 5 juil. 2005 à 12:59
Salut,

voila mon problème, j'ai dans mon code des acces a des fichiers dont l'adresse depand de l'endroit ou l'application à été installée. Donc j'utilise (par exemple pour ma connection a ma DB) et ça marche tant que le prjet n'est pas compilé bien entendu :

cnx.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & App.Path & "\BdD.mdb"

2eme possibilité a laquelle j'ai pensé (on ne sait jamais :p) :
chemApp = App.Path
cnx.Open "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & chemApp & "\BdD.mdb"

le probleme est qu'a chaque fois que j'essai de lancer l'exe j'ai une violation d'acces avec numro barbare. SVP aidez moi j'arrive sur la fin de mon stage et il faut que j'empaquete le logiciel avant de partir

merci d'avance

5 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
5 juil. 2005 à 10:42
tu lances l'exe depuis le même poste ou tu l'as lancé depuis un autre poste sans déploiement du programme ??
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 juil. 2005 à 10:45
Il faut que ta base reste dans le dossier de ton application pour que ca fonctionne.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_Axen Messages postés 49 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 24 mars 2010
5 juil. 2005 à 10:52
En fait je lance l'exe depuis le meme poste et dans le meme repertoire que l'application (ce n'est pas encore l'empaquetage) j'ai juste généré un .exe la base de donnée n'a pas bougé d'emplacement. Le pire c'est que je n'ai aucune certitude que ce soit la DB qui pose probleme, j'ai pensé a elle car quand j'ai le message d'erreur (et donc que l'appli plante) j'ai un fichier ldb qui reste dans le dossier donc ça plante qd l'appli est dans la DB. Mais rien ne m'assure que cela vienne de la en fait...
J'ai mis des msgbox un peu partout pour suivre l'appli mais j'arrive pas a tomber sur le prob pour le moment.

Sinon bah je vais voir l'api viewer (je c meme pas ce que c un api "Vive les formations afpa"), si vous avez d'autres idées je suis preneur !

Merci encore
0
cs_Axen Messages postés 49 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 24 mars 2010
5 juil. 2005 à 11:14
J'ai trouvé ce qui ne marchait pas... probleme, je ne sais pas résoudre le probleme, je m'explique avec du code se sera plus simple :

j'affiche dans une msgbox ce qui va etre exécuté (point de vérif)
MsgBox nomForm & ".TextListDate.Text = rst.Fields(1) & vbCrLf"
le résultat de la MsgBox est bon
je fais un appel de fonction avec la ligne :
FExecuteCode (nomForm & ".TextListDate.Text = rst.Fields(1) & vbCrLf")

et voila ma fonction positionnée dans un module :

Option Compare Text
Option Explicit

Declare Function EbExecuteLine Lib "vba6.dll" _
(ByVal pStringToExec As Long, ByVal Foo1 As Long, _
ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long

Function FExecuteCode(stCode As String, _
Optional fCheckOnly As Boolean) As Boolean
'Exécution du code contenue dans une variable
FExecuteCode EbExecuteLine(StrPtr(stCode), 0&, 0&, Abs(fCheckOnly)) 0
End Function

cette fonction marche tres bien tant que je n'ai pas compilé mais a priori pas dans un exe, si quelqu'un sait me dire pourquoi...

merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Axen Messages postés 49 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 24 mars 2010
5 juil. 2005 à 12:59
rah je suis degouté je viens de tomber sur ce post :
http://vbfrance.com/code.aspx?ID=22816

Jack dit que ce code ne fonctionne pas en mode compilé et que c'est normal, mais il ne dit pas pourquoi !

Savez-vous si il y a moyen de le faire fonctionner en mode compilé ?
Ou connaissez-vous une autre méthode pour l'exécution du code contenu dans une variable car les 3/4 de mon appli tourne la dessus et je n'ai pas le temps de recommencer. Au secours !

merci de m'aider
0
Rejoignez-nous