Tuizi
Messages postés144Date d'inscriptionsamedi 21 octobre 2000StatutMembreDernière intervention 7 mai 2009
-
13 avril 2006 à 16:38
Tuizi
Messages postés144Date d'inscriptionsamedi 21 octobre 2000StatutMembreDernière intervention 7 mai 2009
-
13 avril 2006 à 18:43
Bonjour,
Voila mon problème,
Je fais une référence au COM Microsoft Excel 11 et ensuite j'écrit ce petit bout de code:
Et donc le problème c'est que si je mets ce programme à exécuter sur un autre poste qui n'a pas Excel et bien j'ai un beau plantage du framework impossible de récuperer cette erreur avec le try{} catch(){}, j'ai aussi tenté de catch Application.Run(...); mais rien a faire sa plante...
Donc comment faire pour éviter ce plantage lamentable?
N'y a t'il pas moyen de compiler les dll et autre dans le programme? pour que mon programme soit vraiment indépendant?
Je me souviens qu'en VB6 il y avait un programme pour faire ce genre d'opération!
Tuizi
Tuizi
Messages postés144Date d'inscriptionsamedi 21 octobre 2000StatutMembreDernière intervention 7 mai 2009 13 avril 2006 à 16:59
J'ai essayer de publier le programme, en indiqnant ques les référence été incluse a mon programme, et la sa marche parfaitement sur les autre PC, mais sa fait un programme assez étrange qui s'install et qui vérifie les m-a-j avant de se lancer... je voudrais un exe tout simple moi
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 13 avril 2006 à 17:05
Salut faudrait tester la présence d'Excel ou de son activeX dans la base de registre. Tu ne peux pas rendre ton programme indépendant d'Excel, même en liant ( avec ILMerge par exemple ) les DLLs générées par Visual Studio dans ton EXE.
Tuizi
Messages postés144Date d'inscriptionsamedi 21 octobre 2000StatutMembreDernière intervention 7 mai 2009 13 avril 2006 à 17:21
Et en faite le problème c'est que Microsoft.Office.Interop.Excel._Application testExcel = null; dans mon vrai projet je le met dans une class global et donc dès le début sa plante!
Il existe quoi comme autre linker??? car la publication de mon projet avec VS a bien réussit a passer ce problème donc j'espéré trouver le meme principe mais plus léger!
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 13 avril 2006 à 18:30
Attends on reprend depuis le début.. quand tu rajoutes la référence de ton composant COM ( Excel ) à ton projet VS, celui-ci créer un ou plusieurs fichiers, ce sont des wrappers, c-à-d juste des prototypes de methodes qui permettent d'utiliser COM depuis .NET. Ces fichiers tu dois les déployer chez les client avec ton EXE, ils doivent être dans le même répertoire au moment de l'execution.. Si tu veux pas de DLLs tu peux les fusionner avec ILMerge, mais le client doit posseder Excel sinon aucune chance de faire fonctionner ton programme.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Tuizi
Messages postés144Date d'inscriptionsamedi 21 octobre 2000StatutMembreDernière intervention 7 mai 2009 13 avril 2006 à 18:43
"Si tu veux pas de DLLs tu peux les fusionner avec ILMerge, mais le client doit posseder Excel sinon aucune chance de faire fonctionner ton programme."
Oui ça je suis d'accord, j'ai pu fussionner avec ILMerge, donc de toute façon j'ai regardé les log il me dit qu'il y a un problème avec Excel, donc ok aucun problème
Seulement moi ce que je voudrais pouvoir récuperer l'erreur que le programme donne quand il se lance, du fait que j'ai un objet Excel dans ma class global.