Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1518 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++/XLL] Portabilité d’une XLL compilée en Visual C++ 2008

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++/XLL] Portabilité d’une XLL compilée en Visual C++ 2008

n°2027233
hush hush
je savais que ça te plairait
Posté le 06-10-2010 à 11:21:20  profilanswer
 

Portabilité d’une XLL compilée via Visual C++ 2008

 

Bonjour,
L’outil de notre boite est basée sur Excel auquel nous avons ajouté une librairie de fonctions. Nous sommes en train de nous en débarrasser (car payante) en programmant notre propre librairie. Nous avons choisi (après plusieurs essais dans différents environnements) de le faire en c++ puis de la passer en XLL.

 

L’ordinateur sur lequel nous programmons notre librairie est équipé de Visual C++2008, les autres machines (4) ne le sont pas. Toutes les machines sont équipées d’Excel 2010, OS, Windows XP. L’idée est donc de pouvoir utiliser la xll sur les autres machines sans forcément avoir à installer visual c++.

 

La librairie XLL est à usage strictement propriétaire : elle ne sera pas vendue ou mise à disposition de nos clients…

 

Voici les différentes étapes que j’ai suivies :

 

J’ai construit une xll à l’aide de visual C++ 2008.
J’ai installé le ToolKit 2010 microsoft.
Ma xll fonctionne très bien sur mon pc : je peux utiliser toutes les fonctions que j’ai créées dans la xll.
Je souhaite utiliser cette xll sur un autre pc qui n’est pas équipé de visual C++ 2008.
Le problème, c’est qu’il ne reconnaît plus le format de la xll. Le message qui apparaît est le suivant : « Le format du fichier que vous tentez d’ouvrir est différent de celui spécifié par l’extension de fichier… »

 

J’ai essayé plusieurs choses :
- compiler en mode release
- compiler en multithread (/MT)
- installer le module « Package redistribuable Microsoft Visual C++ 2008 (x86)
- utiliser l’outil « dependencywalker » pour compléter les librairies manquantes dans mon Système32

 

Rien à faire, si je n’installe pas visual c++ 2008 sur le pc, je n’arrive pas à lire ma xll. Si quelqu’un à une bonne idée, je suis preneur :)
Par avance merci
:jap:

 

EDIT: j'ai hésité à poster dans cette sous catégorie, si vous pensez que ça peut être mieux ailleurs, je le bougerai...


Message édité par hush hush le 06-10-2010 à 11:30:39
mood
Publicité
Posté le 06-10-2010 à 11:21:20  profilanswer
 

n°2027300
tpierron
Posté le 06-10-2010 à 14:36:14  profilanswer
 

Bon, je ne connais pas trop les XLL, mais il me semble que c'est bien expliqué dans cette page: http://support.microsoft.com/kb/178474
 
Notamment :

Using the Add-In with Microsoft Excel
   1. Start a new workbook in Microsoft Excel.
   2. Click Add-ins on the Tools menu. Browse to add myaddon.xll and click OK. Notice that when you click OK in the Add-ins dialog, the xlAutoOpen() function runs.
   3. Click M.O.T.D on the MyMenu menu. When your menu item is clicked, the MyMotd function runs to display a MessageBox with a quote such as "Rebekah says 'An Apple a day, keeps the doctor away!'".
   4. In a cell, add the following formula:
 
      =MYFUNC(2,6)
 
      MYFUNC returns 12, the product of 2 and 6.
 
   5. Click Add-ins on the Tools menu. Clear the add-in check box and click OK. Notice that when you click OK in the Add-ins dialog box, the xlAutoClose function runs.


 
Cela dit, il pourrait y avoir des problèmes de runtime. Genre ta DLL va probablement être liée à une version plus récente de la msvcrt qu'il y a d'installé sur les autres PC. Normallement il suffit d'installer cette DLL pour que ça fonctionne, il y a déjà des packages tout prêt dans VS. En tout cas, pas la peine d'installer Visual Studio sur le poste des utilisateurs.

Message cité 1 fois
Message édité par tpierron le 06-10-2010 à 14:37:11
n°2027302
Riot
Buy me a riot
Posté le 06-10-2010 à 14:41:28  profilanswer
 

Oui c'est à ça que sert le module « Package redistribuable Microsoft Visual C++ 2008 (x86) »


---------------
Be the one with the flames.
n°2027306
hush hush
je savais que ça te plairait
Posté le 06-10-2010 à 14:58:32  profilanswer
 

tpierron a écrit :

Bon, je ne connais pas trop les XLL, mais il me semble que c'est bien expliqué dans cette page: http://support.microsoft.com/kb/178474
 
Notamment :

Using the Add-In with Microsoft Excel
   1. Start a new workbook in Microsoft Excel.
   2. Click Add-ins on the Tools menu. Browse to add myaddon.xll and click OK. Notice that when you click OK in the Add-ins dialog, the xlAutoOpen() function runs.
   3. Click M.O.T.D on the MyMenu menu. When your menu item is clicked, the MyMotd function runs to display a MessageBox with a quote such as "Rebekah says 'An Apple a day, keeps the doctor away!'".
   4. In a cell, add the following formula:
 
      =MYFUNC(2,6)
 
      MYFUNC returns 12, the product of 2 and 6.
 
   5. Click Add-ins on the Tools menu. Clear the add-in check box and click OK. Notice that when you click OK in the Add-ins dialog box, the xlAutoClose function runs.


 
Cela dit, il pourrait y avoir des problèmes de runtime. Genre ta DLL va probablement être liée à une version plus récente de la msvcrt qu'il y a d'installé sur les autres PC. Normallement il suffit d'installer cette DLL pour que ça fonctionne, il y a déjà des packages tout prêt dans VS. En tout cas, pas la peine d'installer Visual Studio sur le poste des utilisateurs.


 

Riot a écrit :

Oui c'est à ça que sert le module « Package redistribuable Microsoft Visual C++ 2008 (x86) »


 
Merci pour vos réponses, mais je suis toujours bloqué..
J'ai bien installé le module Package redistribuable Microsoft Visual C++, ça ne donne rien.
Je suis aussi passé par le menu excel pour installer la xll en add-in, ça ne marche pas non plus,
J'ai versifié les versions de la dll msvcrt, on a la même sur toutes les machines..
Pour le moment, la xll ne peut être lue par Excel que si Visual studio est installé sur l'ordinateur...
Edit:
La question, pour ceux qui savent.. c'est, que se passe t'il à l'installation de Visual Studio qui fais que Excel supporte ma xll...??
N'y aurait'il pas un moyen de "simuler" l'installation de VS en ne mettant que les fichiers qui permettent la lecture de ma xll?
:jap:


Message édité par hush hush le 06-10-2010 à 15:01:41

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++/XLL] Portabilité d’une XLL compilée en Visual C++ 2008

 

Sujets relatifs
webservice C# et consommation SOAP : problème de namespace[C#] [WPF] User control dans data template
Pratique : Comment lancer mpirun depuis Windows / Visual StudioDonnées tableau VB Xpress 2008
C'est du MVC ça ?Aide sur une REGEX C# svp
Programme C++ / ecriture de fichier Access / 'ConflictTables'Word & visual basic
[C++] Demande d'aide pour le portage de PSgroove sur STM8S 
Plus de sujets relatifs à : [C++/XLL] Portabilité d’une XLL compilée en Visual C++ 2008


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR