VB6 App qui ne ofnctionne pas sur un autre ordinateur

Résolu
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 15 avril 2010 à 22:19
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 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

18 réponses

Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
16 avril 2010 à 18:48
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)
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 avril 2010 à 22:30
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
0
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
16 avril 2010 à 00:08
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)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 avril 2010 à 07:47
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
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 avril 2010 à 08:49
Je confirme que les .TLB ne font pas partie des livrables.


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
16 avril 2010 à 09:09
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
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
16 avril 2010 à 13:51
merci à tous je vérifie cela dès maintenant.

P.S. Jack: C'était a titre d'exemple le framework .Net et VB6...
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
16 avril 2010 à 14:18
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 avril 2010 à 14:31
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
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
16 avril 2010 à 14:45
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é
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 avril 2010 à 14:54
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
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
16 avril 2010 à 15:18
merci beaucoup
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
16 avril 2010 à 15:33
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 avril 2010 à 15:49
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
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
16 avril 2010 à 15:57
humm aucune idée comment faire ca

compliqué ?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 avril 2010 à 16:16
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
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
17 avril 2010 à 00:01
@Claiyah : Je ne connaissais pas du tout cette astuce avec Erl ...
---
VB.NET is good ... VB6 is better
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
19 avril 2010 à 20:43
merci à vous deux...

c'est super comme idée merci
0
Rejoignez-nous