Quelle DLL me manque-t-il pour que mon programme fonctionne ?

bibilafrayeur Messages postés 59 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007 - 17 avril 2004 à 14:55
bibilafrayeur Messages postés 59 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007 - 17 avril 2004 à 21:34
Bonjour tout le monde et merci de votre aide.

J'ai enfin bouclé mon petit logiciel qui consiste à enregistrer des données dans une base access puis à les édité grace à un DATAREPORT en programmation (jai eu du mal mais ça marche bien).

Ensuite je lance l'assistant d'empaquetage & déploiement pour faire un "SETUP" de mon programme.

J'installe donc le logiciel sur un poste client qui ne possède pas Visual Basic, je lance programe.exe je suis content tout marche .... tout SAUF l'impression sur le DATAREPORT !!!!! Quand je clique sur mon bouton imprimer, il me met ce message d'erreur :
---------------------------------
Erreur D'éxécution 430
La classe ne gère pas Automation ou l'interface attendue
---------------------------------

Ne sachant que faire j'installe Microsoft Data Access Component 2.8, je ne sais pas s'il y'a un rapport mais bon .... dès que je clique sur imprimer toujours un message d'erreur (il a changé par contre) :
--------------------------------
Erreur d'exécution 713
Erreur définie par l'application ou par l'objet
--------------------------------

Alors je me dit ça doit être ma source qui est foireuse .... j'installe Visual Basic 6 sur le poste client, avec le service Pack 6. Puis avant de trifouiller la source je relance une dernière fois programe.exe et Ô miracle l'impression fonctionne !! C'est à n'y rien comprendre, s'il faut se balader avec VB6 pour pouvoir lancé mon logiciel bonjour la galère !!

Alors je voudrais savoir si vous avez une solution à ce problème ..... voici comment je lance mon DATAREPORT au cas où :
-------------------------------------------------------------
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command

'Connection et Requete pour le datareport
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & v_acces_base

With cmd
.ActiveConnection = cn
.CommandType = adCmdText
If liste_type_impression.ItemData(liste_type_impression.ListIndex) = 2 Then
'Si je choisi speaker alors pas de trie dans la catégorie .CommandText "SELECT * FROM t_inscription INNER JOIN t_categories ON t_inscription.id_categorie t_categories.id WHERE(t_inscription.id_course)=" & v_id_course & " ORDER BY t_inscription.dossard"
.Execute
End With

With rs
.ActiveConnection = cn
.CursorLocation = adUseClient
.Open cmd
End With

With datareport_signature
.Hide
.Title = v_nom_projet
Set .DataSource = rs
.DataMember = ""

.Sections("Section2").Controls!label_tours.Caption = v_nombre_tour & " " & v_langue_datareport_tour
.Sections("Section2").Controls!label_categorie.Caption = v_nom_categorie
.Sections("Section2").Controls!label_nom_course.Caption = v_nom_course
.Sections("Section2").Controls!label_dossard.Caption = "N°" 'parce que + court
.Sections("Section2").Controls!label_nom.Caption = v_langue_datareport_nom
.Sections("Section2").Controls!label_prenom.Caption = v_langue_datareport_prenom
.Sections("Section2").Controls!label_club.Caption = v_langue_datareport_club
.Sections("Section2").Controls!label_licence.Caption = v_langue_datareport_num_licence
.Sections("Section2").Controls!label_signature.Caption = v_langue_datareport_signature

With .Sections("Section1").Controls

!label1.Caption = " " & Chr(10) & Chr(10) & Chr(10)

!text_dossard.DataMember = ""
!text_dossard.DataField = rs!dossard.Name

!text_nom.DataMember = ""
!text_nom.DataField = rs!nom.Name

!text_prenom.DataMember = ""
!text_prenom.DataField = rs!prenom.Name

!text_club.DataMember = ""
!text_club.DataField = rs!club.Name

!text_licence.DataMember = ""
!text_licence.DataField = rs!numero_licence.Name

End With
'.Sections("Section1").Controls!label1.Caption = rs!nom
'.Orientation = rptOrientLandscape
.Sections("Section3").Controls!label_creation.Caption = v_nom_projet & " **** " & v_langue_datareport_creation
.Orientation = rptOrientPortrait
.Refresh
If v_imprimer_datareport = 1 Then
'.Show
.PrintReport True, rptRangeAllPages
End If
End With
----------------------------------------------------------

Quelqu'un a-t-il une idée à soumettre ???

MERCI beaucoup !

4 réponses

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
17 avril 2004 à 16:27
Salut bibilafrayeur
Non, pas vraiment.
Ce que je pourrais te suggérer serait de vérifier que tous les composants et références que tu utilises dans ton projet sont bien listés dans l'empaquettage :
Sous VB, liste les composants et références
Une fois empaquetté, lis le fichier SETUP.LIS et vérifie qu'il y a bien tout.
Si non, lors de l'empaquettage, tu as la possibilité d'ajouter des fichiers éventuellement manquants.

Vala
Jack
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
17 avril 2004 à 16:29
C'est encore moi.
Vérifie aussi que l'installation s'est bien passée en regardant le fichier UnInstall.LOG ou qqchose comme ça : Peut-être que la machine sur laquelle tu installes possède des composants ou dll plus récentes et qui ne sont pas compatibles avec les tiennes (dans ce cas, il n'installe pas le composant de l'empaquettage mais il le dit dans ce fichier).
reVala
Jack
0
bibilafrayeur Messages postés 59 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007
17 avril 2004 à 21:16
J'ai eu beau triturer les DLL dans tous les sens ... il n'y a aucun changement ! :(

Il me manque un fichier contenu dans VB6 c'est sur et certain .... mais alors pour savoir lequel !!! mystère !!

Où est ce que l'on peu trouver les codes erreurs de VB (Erreur 713 par exemple) ?
0
bibilafrayeur Messages postés 59 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 26 juillet 2007
17 avril 2004 à 21:34
Ca y'est j'ai enfin trouvé ........

Je n'y suis pas allé de main morte !! J'ai pris le service pak 6, je l'ai dézippé et j'ai pris toutes les DLL contenues dans le dossier "OS/SYSTEM". J'ai fait un copier/coller vers le répertoire Winnt\System 32 en prenant soin de ne remplacer que les DLL dont la date est inférieur à celles du service pack !!

Et ça marche .... maintenant l'opération est un peu la suivante : Dans une boite de cassoulet, savoir quel est le fayot qui nous fait péter !!! :o))
0
Rejoignez-nous