VB6 App qui ne ofnctionne pas sur un autre ordinateur [Résolu]

Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
- - Dernière réponse : cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
- 19 avril 2010 à 20:43
Bonjour

Je me suis créé un programme VBA sous VB6. Ce code est utilisé pour travailler avec Autocad 2002.
J'ai ajouter un référence "AutoCAD 2000 Type Library". Cette référence utilise l;e fichier Acad.tlb qui est sur toute les ordinateur du bureau. Ce fichier est exactement le même fichier que j'ai sur mon ordinateur.

Comment est il possible que mon programme fonctionne sur mon pc et non sur les autres PC. Existe-t-il un fichier, comme en vb.net, style executable pour installer les framework mais en VB6 ?
Si non, comment faire pour résoudre mon problème ? J'installe VB6 sur tous les postes ? J'aime pas vraiment cette idée

merci de votre aide
Afficher la suite 

18 réponses

Meilleure réponse
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010
3
Merci
salut
autre idée que d'enregistrer tout :

private sub form_load()
on error goto erreur
dim lNombre1 as long
dim lNombre2 as long
dim lNombre3 as long
1  let lNombre = 12
2  let lNombre2 = 0
3  let lNombre3 = lNombre / lNombre2 ' erreur ici !
exit sub
erreur:
msgbox "Erreur dans la procédure form_load dans la ligne " & erl & vbcrlf & err.description
end sub



sa te donne dans quel procédure et dans quel ligne tu a l'erreur je crois que c'est beaucoup plus mieux.

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 140 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Claiyah
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Utilise InnoSetup par exemple pour faire un installeur de ton application (voir mes tutoriaux à ce sujet).
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
58
0
Merci
Salut
Un programme VBA sous VB6 qui utilise des Framework .Net ?
Gros mélange de tout et de rien.

Il me semble que, en VB6, les références de type TLB ne servent que lors de la création et sont inutiles après compilation, une fois que tu as créé ton EXE.

Si ton programme ne marche pas, ne te dit-il pas pourquoi ?
Une erreur ? laquelle ?
Si tu as mal ou pas géré les erreur, te voilà bien avancé ...

Comme on le dit à tour de bras sur le forum, un EXE issu de VB6 ne se copie pas 'comme ça' sur une autre machine. Il faut l'installer.
Pour cela, il y a l'empaquetage fourni avec VB6 ou bien, comme le précise Dark, InnoSetup, plus pro mais de maniement plus délicat.

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

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Petite précision par rapport aux propos de Jack : InnoSetup, couplé avec ISTools permet de lire les fichiers générés par l'assistant d'empaquetage de vb : tu génères un installeur avec l'assistant de vb, tu le lit avec istools, et tu peux compiler l'installeur innosetup (tout est expliqué dans mes tutoriaux).

Car le setup généré par l'assistant de vb est comme qui dirait, complètement dépassé, et produit des installeurs qui marchent un coup sur 10 (tout dépend du système sur lequel on installe, et des bibliothèques à installer).
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
22 août 2018
53
0
Merci
Je confirme que les .TLB ne font pas partie des livrables.


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
0
Merci
Encore une précision par rapport à ce qu'ils ont dit : installe le SP6 de VB6 en premier lieu. Si tu ne le fais pas ton installeur sera dangereux pour tout OS > NT4.
---
VB.NET is good ... VB6 is better
Commenter la réponse de cs_ghuysmans99
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
merci à tous je vérifie cela dès maintenant.

P.S. Jack: C'était a titre d'exemple le framework .Net et VB6...
Commenter la réponse de cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
DARKSIDIOUS
Autre question..
J'utilise toujours InnoSetup pour mes programme en Vb.Net et ca fonctionne très bien.

Avec VB6 je suis moins habille. Dans le sens de quel fichier que je dois inclure pour crééer mon exécutable.

Je cré mon .EXE avec VB6 et ensuite je vais avec innosetup ?

Je suis un peu perdu... Je vérifie tout de même dans les tutoriaux et si tu penses a un truc pour m'aider, gêne toi pas...

merci encore
Commenter la réponse de cs_JeffC1977
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Tout est détaillé dans mes tutoriaux : utilisation de l'assistant d'installation de vb6, lecture du fichier .lst par ISTools et compilation avec innoSetup.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
rebonjour

Je regarde les 2 tutoriaux que tu as mis et si j efais une rechercghe de ISTOOL j'ai un mot dans ta conclusion.

A moins qu'il y a une erreur sur les liens ou il manque un tuto.

J'ai été cliquer sur ton nom et je clique sur tous les tutos de DARKSIDIOUS


Ton tuto en pdf n'est plus disponible....

j'attends de tes nouvelles


merci de ton aide c'est tres apprécié
Commenter la réponse de cs_JeffC1977
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Les tutoriaux au format pdf sont disponibles sur mon site perso :
http://dark-sidious.chez-alice.fr/

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
merci beaucoup
Commenter la réponse de cs_JeffC1977
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
Encore moi

Je viens de faire un empaquetage pour faire un tyest et si je l'installe sur mon PC et je démarre l'application (*après l'instalation) j'ai la même erreur


Cette erreur dit:
Erreur d'exécution '424'
Un Objet est Requis

Voyez-vous d'où peut venir le bug

merci encore de votre aide
Commenter la réponse de cs_JeffC1977
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Fait un fichier de log ligne à ligne au démarrage de ton application pour savoir de quel objet il s'agit.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
humm aucune idée comment faire ca

compliqué ?
Commenter la réponse de cs_JeffC1977
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
73
0
Merci
Salut,

Non il s'agit d'écrire dans un fichier.

Tu te fais une fonction :
Public Sub ecrireLog(byVal sLog as String)

Dim iFile As Long

  Let iFile = FreeFile
  open App.path & "\log.txt" for append as #iFile

    print #1, sLog

  close #1

End Sub


Et ensuite, il te suffit d'appeler la fonction à chaque ligne de ton form_load (si c'est dans le form_load que tu as ton erreur), par exemple :
private sub form_load()

dim lNombre1 as long
dim lNombre2 as long
dim lNombre3 as long

  let lNombre = 12
  let lNombre2 = 0
  let lNombre3 = lNombre / lNombre2 ' erreur ici !

end sub



Devient :
private sub form_load()

on error goto erreur

dim lNombre1 as long
dim lNombre2 as long
dim lNombre3 as long

  ecrireLog("lNombre = 12")
  let lNombre = 12
  ecrireLog("lNombre2 = 0")
  let lNombre2 = 0
  ecrireLog("lNombre3 = lNombre / lNombre2")
  let lNombre3 = lNombre / lNombre2 ' erreur ici !

exit sub

erreur:

ecrireLog(err.Description)

end sub



Et ainsi tu sauras exactement où est-ce que ca plante. Bien sûr, c'est à faire uniquement pour test, ne pas le laisser en prod !
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
0
Merci
@Claiyah : Je ne connaissais pas du tout cette astuce avec Erl ...
---
VB.NET is good ... VB6 is better
Commenter la réponse de cs_ghuysmans99
Messages postés
929
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
1
0
Merci
merci à vous deux...

c'est super comme idée merci
Commenter la réponse de cs_JeffC1977