L'application ne trouve pas le rapport sur un pc où vb n'est pas installé

Résolu
cs_ramaro Messages postés 11 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 31 juillet 2008 - 26 oct. 2007 à 16:51
cs_ramaro Messages postés 11 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 31 juillet 2008 - 29 oct. 2007 à 11:06
bjr à tous,

Je viens de terminer un programme de gestion sur vb6 et j'ai un fichu problème que je n'arrive pas à résoudre. Voilà, lorsque je lance l'application sur le poste où j'ai codé le programme, j'arrive à lancer l'état qui est fait avec DataReport. Mais lorsque je le déplace dans un autre pc où vb n'est pas installé il n'arrive pas à trouver l'objet report. Mais l'exe se lance sans défaillance. j'arrive à faire la mise à jour. Si je le déplace sur un pc où vb est installé il marche aussi.
Si quelqu'un peut me fournir une solution je suis preneur...
J'ai mis une journée à le résoudre mais en vain

merçi

4 réponses

cs_ramaro Messages postés 11 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 31 juillet 2008
29 oct. 2007 à 11:06
Non, je ne code jamais en dur comme c:\....
C'est bizarre, mais j'étais presque sur que c'est la compilation qui déconne.

Pour lancer le report je le lance comme suit :

with rpt_saisie
    Set .DataSource = rs2
    .DataMember = ""
    .Caption = "Etat"
.......
.show
end with

mais il ne trouve pas. puis j'ai essayé de mettre un message box du style :
MsgBox "non du report à lancer :" & rpt_saisie.name
mais il fais juste une erreur à cet endrois.

Bref, merçi pour ton aide mais maintenant il marche. Pour palier à cet incident j'ai utisé le package de déploiement de vb6. En cours de la procédure de déploiement il me demande si je veux compiler le projet ou qlq chose comme ça. Et là, je le laisse faire son boulot tranquillement et ça marche.

@+
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 oct. 2007 à 02:27
Salut
Parce qu'un programme créé en VB6 ne se déplace pas 'comme ça'.
Il faut créer une installation et l'installer, lui et ses dépendances, sur la nouvelle machine.
Avec VB6 est fourni un 'empaquetage' qui ajoutera à l'installation les fichiers nécessaires au fonctionnement de tous les composants dont il a besoin.
L'empaquetage de VB6 n'est pas très moderne, mais c'est le plus simple à utiliser. Voir recherche 'InnoSetup' parmi les sources et questions du forum sur ce sujet qui revient très fréquemment.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_ramaro Messages postés 11 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 31 juillet 2008
29 oct. 2007 à 06:59
Slt, merçi pour ta réponse jack, ça m'a permis de savoir quand même comment utiliser inno. Je sais qu'un programme en vb6 ne se déplace pas comme ça. il faut les dll et ocx qui vont avec.
J'ai essayé innoSetup mais ça n'a pas encore résolu mon problème. Il n'arrive pas à retrouver l'état.
Est-ce que quelqu'un a déjà rencontré ce problème
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
29 oct. 2007 à 09:50
Est-il possible que dans ton programme il y ait des références à des chemins en dur ?
du genre "C:\MonRépertoire..."

Si c'est le cas, tu devrais modifier ces chemins et utiliser App.Path

Autrement, je ne vois pas

MPi²
0
Rejoignez-nous