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

[Résolu]
Signaler
Messages postés
11
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
31 juillet 2008
-
Messages postés
11
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
31 juillet 2008
-
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

Messages postés
11
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
31 juillet 2008

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.

@+
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
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)
Messages postés
11
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
31 juillet 2008

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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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²