Probleme Memory avec Word

Résolu
DiscoPlacid Messages postés 6 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 7 mai 2007 - 27 févr. 2007 à 14:31
DiscoPlacid Messages postés 6 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 7 mai 2007 - 27 févr. 2007 à 15:37
Bonjour à tous,  
J'ai développé une application qui doit générer des documents Word. Jusque là, aucun problème. J'ai vs2005 et Word2003.
Sur mon pc, tout marche très bien. j'arrive à générer un document sans tracas, à l'enregistrer etc...
je crée un setup pour mettre le programme sur une autre station (Win2k et Office2000) et là, erreur lors de la génération du document! Ca ne vient pas du setup car installé sur mon pc, ca marche très bien! voici l'erreur :
" Attempted to read or write protected memory. This is often an indication that other memory is corrupt.Object reference not set to an instance of an object"
voici mon code, j'ai mis des try catch pour vérifier d'où venait l'erreur, elle est en rouge :
Il y a 3 arraylist, chacune déclarée plus haut et vidée avant d'intégrer de nouvelles données. Ce qui est bizarre, c'est que l'erreur ne survient que sur le 2ème array...
try
{
object oBookMark1 = "FormationBar";
foreach (string i in FormBar)
{
aDoc.Bookmarks.get_Item(ref oBookMark1).Range.Text = i + "\n";
}
}
catch (AccessViolationException ex)
{
MessageBox.Show("Erreur2 : " + ex.Message);
}
try
}
object oBookMark2 = "FormationMiBar";
foreach (string i in FormmiBar)
{
aDoc.Bookmarks.get_Item(ref oBookMark2).Range.Text = i + "\n";
}
}
catch (AccessViolationException ex)
{
MessageBox.Show("Erreur3 : " + ex.Message);
}
try
{
object oBookMark3 = "FormationAutre";
foreach (string i in FormAutre)
{
aDoc.Bookmarks.get_Item(ref oBookMark3).Range.Text = i + "\n";
}
}
catch (AccessViolationException ex)
{
MessageBox.Show("Erreur4 : " +ex.Message);
}

Franchement, on dirait une grosse erreur de débutant et j'arrive pas à trouver la solution
Bon ben voilà, si qqn peut m'aider, ca serait bien sympa!

1 réponse

DiscoPlacid Messages postés 6 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 7 mai 2007
27 févr. 2007 à 15:37
Bon ben voilà, pour une question conne, c'était bien une question conne!
En fait, j'ai trouvé la réponse en postant ma question
En fait, rien à voir avec l'erreur que j'ai postée ci-dessus!
Il s'agissait simplement du fait que lorsqu'on ouvre Word pour un document sous Word 2000, il faut faire ceci :

Doc = aWord.Documents.Open2000(ref FilePath, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing, ref Missing,ref Missing, ref Missing, ref Missing, ref Missing);

et non pas un Open tout seul. Idem pour un SaveAs...
Fin voilà, merci de vous être dérangé si c'est le cas.
Je tiens simplement à dire que ce site est une vraie perle pour tout développeur débutant et que grâce à lui, j'ai pu faire mes quelques armes dans le C#, même si je suis loin d'en avoir fini lollllll
Merci à tous et bonne continuation...
3
Rejoignez-nous