2009-02-20 5 views
1

J'ai une application aC# qui ouvre une instance COM d'Excel et exporte des données d'une base de données Access 2000 via oleDB sur la feuille puis libère l'objet excel, mais je reçois une fenêtre après la fermeture le programme avec la barre de titre:Fenêtre DDE Server - Erreur d'application

DDE Server Error: [applicationName.exe] - Application Error 

Je pense que je l'ai réduit cela à un problème avec la fermeture excel avant de terminer mon programme. En pensant que c'était un problème avec les objets com que j'ai créés, j'ai parcouru mon code et essayé de trouver chaque endroit où je stockais un objet COM Excel et m'assurer qu'il était libéré avant de le mettre à null. J'ai ignoré ceux que je n'ai pas stockés, par exemple

excelSheet.GetRange("A1", "A1).Value2 = "Hello"; 

je reçois toujours l'erreur et je pense que je l'ai sorti tous mes objets COM stockés, est-il une autre raison pour laquelle je pourrais encore être obtenir cette erreur?

Répondre

1

Peut-être que vous ne nettoyez pas correctement vos références Excel?

Découvrez le fil this sur comment procéder.

+0

Merci - Je crois que c'est la réponse que je cherchais ... Bien que la pensée de créer un objet nommé pour chaque référence soit terrifiante ... c'est un grand projet. J'aurais aimé voir cette info avant! Hehe – Fry

+0

En fait, vous n'avez pas besoin d'un objet nommé pour chaque référence - et essayer de coder dans ce style peut devenir écrasant rapidement, en particulier pour un grand projet. Lire la 2ème réponse dans ce fil pour une approche alternative, que je utilise tout le temps et trouve qu'il est beaucoup plus facile à utiliser. –

Questions connexes