Bonjour,
Voilà mon problème, je réalise des fusions/impressions avec Word depuis mon application (langage Delphi7). Pour récupérer l'instance Word j'utilise le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 try MyWordApplication:= GetActiveOLEObject( 'Word.Application' ); IsNewInstance:= false; except MyWordApplication:= CreateOleObject( 'Word.Application' ); IsNewInstance:= true; end;
Hors il semblerait que lors du premier appel à la fusion/impression, souvent je me tape des erreurs du style "'L'objet invoqué s'est déconnecté du client" ou encore "le serveur RPC est indisponible", "L'appel distant a été rejeté", etc... de manière aléatoire. Et souvent il suffit de relancer le processus de fusion/impression pour que ça passe bien...
En débuggant je n'ai pas l'erreur mais j'ai remarqué que les erreurs ont lieu lorsque je récupère l'instance via "GetActiveOLEObject( 'Word.Application' )" même si je n'en suis pas sûr à 100%. En effet lors du premier appel je passe par 'GetActiveOLEObject' tandis que les fois suivantes je passe par "CreateOleObject( 'Word.Application' )" (assez bizarre finalement on pourrait penser l'inverse).
Le truc est que je ne vois pas en quoi cela pourrait changer le comportement du serveur automation après coup, et surtout le "rendre instable". En l'occurence sur une machine rapide j'ai plus de chance d'avoir des erreurs de ce type que sur une machine plutôt lente. Quelqu'un a des explications ?
Merci d'avance.
Partager