Erreur 340 non universel ?? - VB/VBA/VBS - Programmation
Marsh Posté le 13-12-2007 à 15:53:40
Il manque des ocx dans ton pack d'install on dirait.
Marsh Posté le 13-12-2007 à 15:58:37
merci kao
j'y avais pensé
en insérant un à un les ocx présents sur les autres machines marchants avec l'appli mais il ya toujours cette erreur ...
Marsh Posté le 14-12-2007 à 09:27:45
Il faudrait plus d'infos sur le code et les composants utilisés.
Tu ajoutes des contrôles dynamiquement dans un formulaire ?
Marsh Posté le 14-12-2007 à 09:57:56
hello
je viens de me rendre compte que c'est le composant winsock qui déconne
effectivement tegu je l'ajoute dynamiquement (avec un LOAD)
mais je sais pas comment faire plusque j'avais empaqueté mswinsck.ocx dans le setup il y ait bien sur le PC
je vois pas trop si tu as des idées ... je serai ravi de les entendre
...
Marsh Posté le 14-12-2007 à 10:00:00
un peu de code ::::>>>>
Private Sub tcpserver_ConnectionRequest _
(Index As Integer, ByVal requestID As Long)
Nbre_client_current = Nombre_client - serveur.ListClient.ListCount
If Nbre_client_current = 0 Then
For i = 0 To serveur.ListClient.ListCount
If serveur.ListClient.ListCount = 0 Then Exit For
tabligneip = Split(serveur.ListClient.List(i), " " )
If i = serveur.ListClient.ListCount Then Exit For
If tabligneip(0) = TCPserver(0).RemoteHostIP Then GoTo here
Next
Exit Sub
here:
End If
If TCPserver(0).State <> sckClosed Then 'Si la connection n'est pas fermée,
If Index = 0 Then
intMax = intMax + 1
Load TCPserver(intMax)
TCPserver(intMax).LocalPort = 0
c = TCPserver(0).RemoteHostIP
TCPserver(intMax).accept requestID 'On accepte la connection qui arrive
TCPserver(intMax).SendData "Debut"
c = TCPserver(0).RemoteHost
End If
End If
End Sub
Marsh Posté le 14-12-2007 à 10:10:45
Peut-être l'installation du composant ne s'est pas déroulée complètement.
Essaie de lancer la commande suivante (démarrer/exécuter) :
regsvr32 "c:\windows\system32\mswinsck.ocx"
Obtiens-tu un message qui te dit que c'est ok ?
Marsh Posté le 14-12-2007 à 10:15:41
j'ai mis ta commande
ca a marqué ' réussi '
après que dois je faire et à quoi sert cette commande
merci
Marsh Posté le 14-12-2007 à 10:16:35
Pour les ocx, dans innosetup, il faut utiliser un flag du genre "register_server" pour qu'ils soient installé correctement.
Marsh Posté le 14-12-2007 à 10:44:43
hello
j'ai mis les lignes suivantes dans mon script .iss
pour les composants activex
Source: blabla.ocx; DestDir:{sys}; Flags: promptifolder regserver sharedfile
pour les dll
Source: bleble.dll; DestDir:{sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
j'ai désintallé mon appli je l'ai réinstaller et ça me fait l'erreur suivante
impossible d'enregistrer la dll/ocx (html.ocx):regsvr32 a echoué renvoie l'erreur 0x3
Marsh Posté le 14-12-2007 à 10:50:54
quand je fais ignorer il me fait l'erreur pour toute les autres dll et ocx
c bizzare vous avez une idée ...
Marsh Posté le 14-12-2007 à 11:07:56
Tu as les droits admins ?
Essaie plutôt ça pour les ocx :
Code :
|
et ça pour les dll
Code :
|
Et jette un coup d'oeil ici aussi : Howto: intalling vb6 applications with inno settup
Marsh Posté le 14-12-2007 à 11:42:07
La commande regsvr32 sert à faire la même chose que ce que suggère kao98 via InnoSetup.
Si le lancement de la commande n'a pas permit de régler ton problème, il y a peu de chance que via InnoSetup ça marche mieux.
Marsh Posté le 14-12-2007 à 11:47:42
Il n'a pas utilisé la commande regsvr32, il passait par le script inno setup, et c'est le prog d'install qui lui a renvoyé cette erreur (enfin, oui, je sais, c'est regsvr32 qui a renvoyé l'erreur, mais de modifier le script modifiera sans doute l'appel à regsvr32).
Marsh Posté le 14-12-2007 à 12:29:00
exact ça passe par regsvr32 puis ça me fait l'erreur
code 0x3 lorsque j'installe avec inno setup
là je refait tout le setup dès le début en fonction du lien que ma envoyé kao
je vous tiens au courant
merci
Marsh Posté le 14-12-2007 à 14:05:51
re à tous
he bien j'ai refait mon setup nikel grace au lien de kao , je n'ai plus d'erreur s de regsvr32 à l'installation mais j'ai toujours le même probleme de composant
>> erreur 340 : L'élément du groupe de contrôles '1' n'existe pas .
je pense c'est lier au composant winsock que je load dynamiquement
mais je comprend pas pourquoi ça marchine et pas sur l'autre ....
j'ai 4 h pour trouver car c' un produit client
please ... i need help
merci par avance
Marsh Posté le 14-12-2007 à 14:14:08
Comment tu charges ton composant ?
Donne nous un peu de code.
edit: et pourquoi tu le charges dynamiquement ?
Marsh Posté le 14-12-2007 à 14:17:32
mnyware a écrit : un peu de code ::::>>>> |
tegu a écrit : Comment tu charges ton composant ? |
Marsh Posté le 14-12-2007 à 14:24:26
C'est le chargement de ton composant qui plante, donc c'est plutôt ce code là qui m'aurait intéressé.Mais je constate quand même un truc. Tu utilises la syntaxe TCPserver(0) propre aux groupes de contrôles, en l'indiçant avec intMax.Laisse tomber, j'avais sauté une ligne
Or avec la ligne « intMax = intMax + 1 » ton indice passe à 1, mais as-tu bien créé le deuxième Winsock qui correspond (on en revient au code du chargement des contrôles) ?
Le premier Winsock (indice 0) est chargé où ?
Marsh Posté le 14-12-2007 à 14:26:12
je le charge dynamiquement car c'est une appli serveur multiclient
chaque fois qu'un client souhaite se connecter on load un winsock(nb) qui devient un lien de communication exclusif entre ce client et le serveur .
Marsh Posté le 14-12-2007 à 14:31:06
le code je l'ai pas inventé
je l'ai récupéré dans l'aide de visual studio en fesant de légères modifications
donc ça doit être autre que les régistres , les active X
car il s'exécute sur certain PC et pas d'autre
Marsh Posté le 14-12-2007 à 14:49:52
Tu as des différences entre tes deux PC (OS, MS Office, IE, firewall, antivrus) ?
Marsh Posté le 14-12-2007 à 14:54:07
Tiens je viens de voir un truc. C'est normal que tu affectes deux fois la variable c sans t'en servir entre temps ?
c = TCPserver(0).RemoteHostIP |
Marsh Posté le 14-12-2007 à 15:22:40
effectivement elle me sert à rien je lutilisait pour faire des tests
je l'ai mis en commentaire mais toujours pareil
quant à l'OS, IE c'est le meme pour les deux
les deux n'ont pas office
firewall activé pr les deux
un a un antivirus et pas l'autre ...
Marsh Posté le 14-12-2007 à 15:47:56
Si le poste qui ne fonctionne pas est celui doté de l'antivirus, ça vaut le coup de creuser un peu la piste. Sans conviction.
Marsh Posté le 14-12-2007 à 16:35:41
merci tegu
j'ai installer le même antivirus mais ça marche toujours pas
on est à cours d'idées je crois
pffff .... ya des jours comme ça :@
Marsh Posté le 14-12-2007 à 17:30:57
bon j'ai trouvé mon erreur j'ai mis des msgbox partout pour mieux reperer où était l'erreur
c'etait dans une autre fonction
il yavait vraiment un truc(1)=... qui avait rien à faire là
hi hi hi ...sorry ... je suis honteuse là
mais j'ai appris beaucoup sur le inno setup ,ocx et dll today
merci pour votre aide :-)
Marsh Posté le 14-12-2007 à 19:32:06
Content que tu es trouvé !
Marsh Posté le 13-12-2007 à 15:26:39
hello !!!
Je viens de finir un logiciel que j'ai empaqueté avec INNOSETUP
je lance le setup sur une machine l'appli s'intalle sans souci mais au moment de l'exécution
cela ma fait une erreur 340 : L'élément du groupe de contrôles '1' n'existe pas .
j'installe une deuxième fois le logiciel , avec le même setup sur une autre machine et là ça marche nikel
sans problème
je ne comprends pas ...vous avez des idées de la cause de cette erreur
merci d'avance