Sephy77
Messages postés13Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 7 juin 2006
-
10 août 2005 à 16:57
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
11 août 2005 à 22:42
Bonjour,
J'utilise un ActiveX di6flood (c'est une jolie progress bar, ou on peut paramétrer les couleurs). Mais le probleme c'est que ce controle n'inclut pas les dll de VB6. Or j'aimerai exporter mon exe sur un autre ordi(n'ayant pas VB6 évidemment).
De plus je ne veux pas modifier le C/.../system32 de l'autre ordi. Je sais que je peux mettre ma dll dans le dossier ou se situe l'activeX( ou alors c'est dans le dossier ou se trouve l'exe ?). Mais je ne sais pas quel(s) fichier(s) dll mettre...
Sephy77
Messages postés13Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 7 juin 2006 10 août 2005 à 17:25
Merci mais je m'explique mieux. Ce n'est pas moi qui est réalisé cet activeX, je me contente de l'utiliser. Donc ce setup dont tu me parles ne me sert pas, vu que je n'ai pas ttes les dll nécessaire à l'ActiveX.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 août 2005 à 17:30
Ben si tu arrive à l'installer et l'utiliser correctement sur ton pc,
tu dois pouvoir faire un setup pour qu'il s'installe correctement avec
ton prog qui l'utilise !
Par contre, fait attention aux licences, tu peux avoir le droit de
l'utiliser mais pas de le distribuer, que ce soit dans un but
commercial ou non ! Et là, il faut voir avec l'auteur de l'ocx.
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 10 août 2005 à 21:41
salut,
que la dll (ou autre) te soit propre ou non, les copier dans le dossier de l'exe (première réponse) n'est parfois pas suffisant.
utiliser un empaqueteur tel que celui que Dark te propose (connu, et qu'il va bien falloir un jour que j'essaie) est sans doute la solution la plus facile.
chaque exe à ses objets, on ne peut pas te faire une liste exacte ;)
(çà veut dire aussi que le souci vient de l'exe, non pas de l'ActiveX)
Dark, mis à part.... pour les droits de distribution etc, sais-tu comment (ou si), à part en l'écrivant en fichier joint, rendre un OCX/DLL non-redistribuable.....
++
PCPT
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 août 2005 à 21:57
Il me semble qu'on peut le définir avec VB pour un projet Usercontrol
=> pour des ocx, il est possible de demander un numéro de licence.
Je ne sais pas si ca correspond à cà les fameux message comme quoi on
n'a pas le droit de distribuer tel ou tel composant... Je ne me suis
jamais réellement posé la question car pour l'instant, j'ai toujours
développé des composants réutilisable et distribuable par tous !
Mais je pense que la MSDN doit bien avoir de la doc là dessus...
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
Sephy77
Messages postés13Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 7 juin 2006 10 août 2005 à 22:04
Tout dabord, merci de vos rep.
Je pense changer de composant car je suis pas trop doué en info.
Une derniere question: savez vous ou je pourrais trouver un activeX autonome(qui ne nécessite aucune autre dll et qui pourra marcher sur tous les ordis) et libre de droit. Ce controle doit ressembler à une progress bar ou une jauge.
Un activeX qui permet de montrer un niveau. Et un minimum joli car la progress bar de VB6 ne permet meme pas de changer la couleur. L'idéla serait de pouvoir choisir 2 couleurs. L'une pour avant le niveau de la jauge et une autre pour après.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 10 août 2005 à 22:07
c'est ton exe compilé qui a besoin de dll.
créé un nouveau projet, rien dedans, compile le, et tu auras les mêmes problèmes (alors que vide) pour l'executer sur un poste sans VB.
Dark t'a dit comment démarcher. des contrôles, tu en trouveras des tonnes ici, mais toujours ne fonctionnant qu'avec les DLL fournies avec VB (logique)
Sephy77
Messages postés13Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 7 juin 2006 10 août 2005 à 22:19
Non mon projet (quand je retire le controle en question) marche très bien sur les pc n'ayant pas VB6(tests faits sur plusieurs PC).
Donc je comprends pas.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 10 août 2005 à 23:13
oui, sur les postes qui te posent problème.... (forcément)
automatiser, oui, ou tu fais un Batch, et donc poste par poste, ou tu utilises une technique extrêmement difficile, à savoir trouver des cylindres de bois, pointus des 2 cotés (communément appelés "KurDen"), tu les places sous tes paupières, pour ainsi relire le post de Dark
(pour savoir quelle DLL est nécessaire, une fois l'ocx enregistré, tu auras un message d'erreur avec le nom de la première DLL manquante)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 août 2005 à 08:02
Laisse toi imprêgner par le côté obscur de la force, et sombre dans la haine et la souffrance jeune padawan.
Il existe un moyen plus fiable et simple que le batch : enregistrer
l'ocx dès le lancement de ton prog. Dans un Sub Main, tu y lance le
regsvr32 en utilisant la fonction de VB Shell. Ainsi, plus de problème
d'enregistrement.
RegSvr32 est un programme installé par défaut avec Windows, il permet
d'enregistrer des dll activeX dans le registre, ou de les supprimer.
Pour avoir une éxécution silencieuse, utilise l'option /s.
Donc en gros, ca donne cà (dans un module) :
Public Sub Main()
Shell("RegSvr32 /s CheminDeLaDll.dll")
Form1.Show
End Sub
Il faut bien entendu que la Sub Main soit la fonction d'entrée de ton
programme (tu peux le définir dans les options de ton projet).
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
Sephy77
Messages postés13Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 7 juin 2006 11 août 2005 à 12:21
Le soucis c'est que je ne connais pas la dll manquante a mon activeX. Quand je l'execute sur un autre pc y'a écrit: "erreur d'execution '339' le composant 'di6flood.ocx' ou une de ses dépendances n'est pas correctement enregistré."
Je trouve également cela un peu bourré de recharger à chque fois la dll, non ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 11 août 2005 à 12:40
Sephy77,
je sais pas si tu lis les réponses qu'on te donne....
tu as là pas mal de solutions.
là, ton ocx n'est pas enregistré.
Dark te propose soit de "paquager" ton projet complet avec innosetup, soit d'ajouter un module à ton projet, dans lequel tu créés la procédure "Sub Main" qui enregistre automatiquement l'OCX. procédure que tu mets en démarrage de ton projet, au lieu de ta Form Principale
et moi, pour test, je te dis de l'enregistrer manuellement (c'est à dire de taper en commande la même ligne que Dark à écrit dans le module), pour voir ce qu'il manque ensuite.
si tu veux faire le test de suite, sur ton PC, il te suffit de taper
regsrv32.exe -u blabla\di6flood.ocx
ceci va la désenregistrer. fait ensuite ton module. tant que tu auras ton message d'erreur sur TON poste, c'est que tu as mal placé les KurDen....
Dark,
je fais un petit projet qui nécessite une configuration (ini) obligatoire.
je fourni le fichier avec une donnée vide. au SubMain, si donnée vide, c'est que 1er enregistrement, donc j'enregistre dll/ocx et j'ouvre la form config. sinon, j'enregistre pas et form principale....
Sephy77
Messages postés13Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 7 juin 2006 11 août 2005 à 22:18
Merci j'ai enfin réussi.
il fallait enregistrer l'activeX.
Je pensais que le fait de le mettre au bon endoit il était directement détecté. Quand on possède VB, cest VB qui se charge de l'enregistrer alors ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 11 août 2005 à 22:42
non, il s'enregistre quand tu l'ajoutes en composant.
donc oui, l'un dans l'autre, mais 3 composants dans le répertoire de ton projet, si un seul utilisé (donc dans le projet) un seul enregistré...