INCLURE LES OCX DANS VOS PROGRAMMES

_Spartacus_ Messages postés 7 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 26 janvier 2005 - 26 janv. 2005 à 12:32
tuyo2poil Messages postés 6 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 29 septembre 2006 - 26 nov. 2007 à 19:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29078-inclure-les-ocx-dans-vos-programmes

tuyo2poil Messages postés 6 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 29 septembre 2006
26 nov. 2007 à 19:50
ah j'ai retrouvé (et j'ai fais gaffe a la note ce coup là !) !

ça redirige les appels vers msvbvm60.dll (qui doit être toute surprise de les voir arriver chez elle mais bon elle est tres acceuillante).

voilà le lien : http://www.vbfrance.com/codes/COMMENT-DEBARRASSER-VB6FR-DLL-LIMITANT-COMPATIBILITE-APPLICATIONS-VB_20160.aspx

ça marche nickel, sans dec !
tuyo2poil Messages postés 6 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 29 septembre 2006
26 nov. 2007 à 18:35
hé les champions du vb, y a une moulinette qui supprime dans les exe compilés les appels à vb6fr.dll (ça les remplace par des appels a je sais plus quelle DLL qu'est toujours là). ça marche impec je m'en sert tous les jours ! (je me demande d'ailleurs a quoi elle sert la vb6FR !!!).

quand au prog du pére Draluorg (ça devait pas être facile a l'école avec un nom pareil), et bin il est génial ! c'est en fait une install automatique d'ocx planqués dans l'executable ! donc , en clair, tu as réécris le package d'installation en simplifiant tout : c'est du clic & play ! pas besoin de se lezarder la cafetiére avec l'installeur de vb6 qui doit être l'oeuvre d'un troupeau de poivrichons notoires à mon avis....

en tout cas merci les mecs, car depuis le temps que je vous copie-colle, ça mériterais facile un petrolier de cote du rhone !

LPG
mat_yaute Messages postés 8 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 6 mai 2008
22 oct. 2007 à 01:03
Bonjour,
Ce code m'intéresse beaucoup, mais il ne marche pas tel quel en vb.net.
Est-ce-que quelqu'un aurais une solution ?

Merci d'avance.
Mat
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 avril 2007 à 18:01
c'est supprimé, tu n'as plus qu'à renoter.
zeunz Messages postés 200 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 30 juin 2008
22 avril 2007 à 16:54
sans le vouloir j'ai mis 1/10 a cette source. ce n'etait pas mon but car j'aurais vloulu lui mettre un 8/10. si une admin peut le corriger merci.
zeunz Messages postés 200 Date d'inscription jeudi 26 février 2004 Statut Membre Dernière intervention 30 juin 2008
22 avril 2007 à 16:41
bonne idee! hje n'ai pas teste la source ms ca pourra etre utile ds le cas ou on aura pas trop de dll a enregistrer bien sur. par contre je n'ai pas teste ta source ms l'idee est interressante.

bonne continuation.

ps: faut arriver a trouver qque chose pr ce pb de vb6.dll....
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
22 juin 2005 à 15:00
Yo!
J'ai posté ta source ici avec quelques modifs (si tu voulai garder le copyright, bah etant donné qu'on est sur un site de codes...lool)

ici : http://www.vbfrance.com/code.aspx?ID=32238

Voila !
En tout cas elle me sert bien ta source !
A+
SuperPit37 Messages postés 61 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 13 novembre 2005
30 mai 2005 à 10:09
Ce code est très pratique! mai je n'arrive pas a le fair fonctionner quand je créé moi meme le fichier ressource il y quelque chose de particulier a rentré dedans?
DEADisDEADisDEAD Messages postés 23 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 17 décembre 2008
26 mai 2005 à 15:21
slt, les ocx sont-il extrait dans c:\windaub\systeme32 ? si "oui" merci bien, si "non" il y aurai la possibilité ?
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
27 janv. 2005 à 07:34
wai un genre "initialisation en cours..." si les ocx sont assez lourd, mais ici c'est juste l'exemle apres on peut imaginer des tas de trucs ms je v laisser comme ca pour que ce soit plus facile a comprendre...

@+ bonne prog
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
27 janv. 2005 à 06:44
Wow. Je pensais pas que vb était comme ça. Il ne gérère l'erreur "composant manquant" seulement quand on affiche un form ou un autre contenant qui en a besoins. Normalement, il aurait dû y avoir une vérification au début pour s'assurer que tout les composants sont là mais vb ne fonctionne pas ainsi. Une suggestion que j'aurais serait de créer un form qui afficherait la progression de l'extraction au cas ou on a de gros ocx.
cs_Nocturne Messages postés 115 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 15 novembre 2007
26 janv. 2005 à 23:37
Pour ne pas avoir a utiliser la vb6fr.dll et bien installer Vb en version anglaise.
a+
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
26 janv. 2005 à 18:36
Désolé. Je suis à l'école et y sont trop BS pour pouvoir ce permettre d'avoir VB sur ne serait-ce qu'une ordi. Si ça marche bien bravo, c'est une bonne affaire que je ne savais pas avec winrar. Sinon, t'as essayer, c'est bien quand même. Je reste quand même septique... je vais tester à soir. p.s je suis au canada ...
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
26 janv. 2005 à 17:32
bein essai le plutot que de faire un spich en supposant qu'il ne fonctoinne pas!
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
26 janv. 2005 à 17:10
Désolé mais moi, je ne suis absolument pas convaincu par ton programme. Est-ce qu'il marche VRAIMENT??? Dès qu'on ouvre un exe VB, il y a aussitot une vérification qui s'effectue. Il manque 1 fichier et le prog démarre pas. Comment ce fait-il alors que tu puisse éxécuter ton code qui nécéssite l'OCX? LA soultion pour les OCX serait de créer un programme VB qui ne contient qu'un module, qui installe les OCX et qui démarre le vrai programme après. Pour les DLL, vb marche différament. Quand VB appelle une API, il le fait de façon explicite. Dans un exe c++, on lit implicitement car un fichier .lib contient l'entrée de la dll. Quand on regarde les importations d'un programme c++, on s'aperçoit que toutes les API utilisées y sont. Essayez sous vb. À PART ceux de la machine virtuelle (msvbvm60.dll), les votres n'y sont pas. C'est quoi le DECLARE selon vous? Donc même si il manque une dll AUTRE que celles de vb, ça ne devrait pas être un si gros problème. Pour la machine virtuelle de VB, je travaille sur une solution. Je crois avoir trouvé LE TRUC. Tout ce qu'il me faut, et que je ne peux pas avoir, c'est tout simplement certains fichier présent dans toutes vos version de VB6 version francaise car moi j'ai l'américaine et je suis au canada ... le fichier vba6exe.lib ... car comme je le disait, c'est lui qui pourrais lier CETTE MERDE de vb6fr.dll dans nos exe ... pour les ocxs, je vais regarder si y'aurais pas moyen de faire sortir les fichiers .obj des OCX et les faire accepter par vb au moyen d'un wrapper asm.
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
26 janv. 2005 à 15:27
yep je t'acorde qu' avec la forme du code ca pouvait preter a confision ;)

@+ bonne prog
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 janv. 2005 à 14:52
Erf, désolé, j'avais pas vu que tu enregistrais les dll/ocx dans un main, et non après avoir afficher la feuille nécessitant les ocx.

Donc, en effet, ca permet de limiter les dépendances au seul VB6FR.dll

DarK Sidious
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
26 janv. 2005 à 14:45
eh desole DarK Sidious mais je pense que tu n'as pas du bien lire la source ni d'aiileur l'explication que je donne au dessus car si la source permet bien de faire un programme qui ne necessite plus que VB6FR.DLL

essai l'exemple qui a ds le zip tu verra bien que ca marche

par contre je suis d'accord que ce n'est pas la sollution miracle (y en a po ) mais ca peut facilite les choses ds bien des cas.
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 janv. 2005 à 14:17
Quel est l'intérêt de ne lancer le prog qu'une fois les dll enregistrées ? Car si tu lance le prog alors que les dll ne sont pas déclarées, il y a plantage : erreur Automation !

Pour les dll de VB : vb6fr, oui, je suis d'accord, mais celle-là, tu fais comment pour l'inclure dans ton prog sans faire de setup ?

Je suis d'accord que cette source peut-être utile dans certains cas où la performance et l'occupation mémoire n'est pas une priorité, mais je mets en garde ce qui pense se débarasser de l'install de leur programme : il faut que vb6fr.dll soit installée avant de lancer un quelconque programme, et il faut que les dll qui sont nécessaires pour l'éxecution d'un programme soient enregistrées avant de lancer le programme !

Donc ta source peut être utile pour faire une sorte de "setup" sans passer par un véritable programme d'installation, qui mettra à jour les dll utilisé par un autre programme, mais par contre, elle ne permettra pas de faire un programme qui ne nécessite plus que vb6fr.dll pour fonctionner ! (à moins de tout faire par dll indépendantes des dll incluses dans le projet, mais là, on tourne en rond !).

DarK Sidious
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
26 janv. 2005 à 13:56
salut a tous,

eh pour le fait de les compresser avant c'est en effet la seul methode pour diminuaer la taille now ca ralentira encore un peu le lancement ms bon...

sinon je ne suis pas d'accord lorsque tu dis :

" Car avec ta méthode, il n'est pas possible de faire d'early-bound sans erreurs (early-bound = liaison entre la dll et l'exe au démarrage du prog), ce qui ralentit pas mal les performances du programme !

Bref, je ne vois pas trop l'utilité d'utiliser cette méthode si on recherche les performances. Surtout que cela n'empêche pas de devoir installer les dll de VB pour faire tourner le prog !"

rien ne t'empeche de les declarer directement apres puis une fois enregistree l'echange dynamique est le meme now cette options reste pratique ds certain cas et de toute facon tous les programmes ne necessite pas une performance optimale ms plus d'etre trimbaler le plus facilement possible

puis pour les dll de vb appart vb6fr.dll pour les autres y a aucuns probleme

bonne prog @+
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 janv. 2005 à 13:41
_Spartacus_ : tu as toujours la possibilité de compresser tes dll/ocx avant de les inclure en binaire, puis les décompresser après, mais tu n'y gagneras pas grand chose, et tu y perdras en temps de chargement !

Perso, je trouve ca pas très pratique : ca gonfle les exe, et donc la taille en mémoire et le temps de chargement ! Autant laisser les dll déployées avec le prog, et ainsi, profiter de leur dynamique ! Car avec ta méthode, il n'est pas possible de faire d'early-bound sans erreurs (early-bound = liaison entre la dll et l'exe au démarrage du prog), ce qui ralentit pas mal les performances du programme !

Bref, je ne vois pas trop l'utilité d'utiliser cette méthode si on recherche les performances. Surtout que cela n'empêche pas de devoir installer les dll de VB pour faire tourner le prog !

DarK Sidious
_Spartacus_ Messages postés 7 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 26 janvier 2005
26 janv. 2005 à 12:32
Wow c'est exellent ca !
depuis le temps que je cherchais ca :)

par contre apres avoir ajoute 4 ocx mon exe fait maintenant plus de 3 Mo alors k'il ne fasait que 600 Ko
y a pas moyen de le diminuer ?
sinon bravo et merci c deja super col comme ca
Rejoignez-nous