cs_christophe33
Messages postés5Date d'inscriptionvendredi 24 mars 2006StatutMembreDernière intervention16 juillet 2007
-
1 juil. 2007 à 14:00
cs_christophe33
Messages postés5Date d'inscriptionvendredi 24 mars 2006StatutMembreDernière intervention16 juillet 2007
-
15 juil. 2007 à 11:32
Bonjour,
J'ai un programme principal qui appelle une dll activex écrite pour piloter Word ou une dll écrite pour piloter OpenOffice Writer. Suivant le poste, c'est soit l'une ou l'autre dll qui est installée. Les 2 dll portent le même nom et ont les mêmes API. De cette manière tout est transparant pour le programme principal. Par exemple, dans le programme principal, on aura :
Dim monDocument as unDocument
Set monDocument = new unDocument
monDocument.ouvrir(unFichier)
...
Si le poste est équipé de Word, c'est la dll Word qui sera installée et instanciée. Si le poste est équipé d'OpenOffice, c'est la dll OpenOffice qui sera installée et instanciée. Sans que le programme principal ne soit adapté pour l'un ou l'autre cas.
Mon souci, c'est que VB ne propose de créer que des dll ActiveX qui doivent être référencées dans le projet VB. Et Je ne veux pas avoir 2 projets VB pour le programme principal, l'un pour la dll Word, l'un pour la dll OpenOffice Writer.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 1 juil. 2007 à 14:50
Une piste pêut-etre, serait de faire une seule dll capable de gérer les 2 suites. C'est la dll qui ferait la différence suivant l'appli installée.
Ex : au démarrage de la dll, tu détermine quelle suite est installé et tu met à jour une varibale globale de la dll. Ensuite dans chaque fonction de la dll, tu met le code pour chaque suite en jouant sur ta variable globale pour ensuite n'executer que le code de la suite installée.
Autre point, comment gere-tu le cas ou les 2 suites sont installées sur la machine comme sur mes PC perso et travail, par exemple ?
---- Sevyc64 (alias Casy) ----# LE PARTAGE EST NOTRE FORCE #
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 1 juil. 2007 à 14:51
Salut,
Pourquoi ne pas avoir simplement un paramètre que l'utilisateur peut choisir décidant si il veut travailler avec Office ou Open Office ?
Sinon fais simplement un choix dans l'installateur, tu possèdes tes deux dll dans ton archive d'installation ou dans un dossier avec des noms différents, puis lors de l'installation tu copie celle que l'utilisateur veut avec le nom final...
cs_christophe33
Messages postés5Date d'inscriptionvendredi 24 mars 2006StatutMembreDernière intervention16 juillet 2007 15 juil. 2007 à 11:32
Bonjour, j'ai suivi ton idée.
je suis parti d'un source unique avec une option de compilation conditionnelle. De cette manière, je crée une dll pour Word et une dll pour OpenOffice.org.
Suivant les postes, c'est l'une ou l'autre qui est installée. Pour le programme principal tout est transparant.