[VB6] Probleme avce l'exe généré et les chemin d'acces aux fichiers
cs_Axen
Messages postés49Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention24 mars 2010
-
5 juil. 2005 à 10:31
cs_Axen
Messages postés49Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention24 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 :
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
cs_Axen
Messages postés49Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention24 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 !
cs_Axen
Messages postés49Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention24 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
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 !