Pb Word 2000 & Delphi

cs_tane Messages postés 4 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 10 juin 2008 - 30 mai 2008 à 12:18
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 10 juin 2008 à 20:02
Bonjour,

J'ai un problème de pilotage de Word 2000 avec Delphi 7 sous Windows Server 2008 64 bits :
j'ai fait un petit exécutable qui me permet d'imprimer un fichier doc sur une imprimante donnée. Lorsque je me connecte en tant qu'administrateur et que je lance cet executable en cliquant sur un .bat, je n'ai pas de problème, le fichier s'imprime bien.
En revanche, lorsque j'appelle ce programme depuis un autre programme Delphi (qui tourne en permanence sur le serveur), j'obtiens un message d'erreur "L'appel a été rejeté par l'appelé" ou bien "Le filtre de messages indiquait que l'application était occupée". Le problème survient à l'ouverture du doc.
Pourtant dans les deux cas, mon exécutable qui imprime le .doc est lancé en administrateur !
A noter que je ne rencontrais pas ce problème sous Windows 2000 Serveur.

Voici le code que j'utilise pour imprimer le fichier doc :

     wordApplication1 := TwordApplication.Create(nil);

     // ouverture du fichier
     FileName := ParamStr(1); // ou .rtf ...
     Visible := True;  // Le serveur COM est affiché
     WordApplication1.Documents.Open(FileName, EmptyParam, EmptyParam,
                                    EmptyParam, EmptyParam, EmptyParam,
                                                 EmptyParam,EmptyParam, EmptyParam,
                                                 EmptyParam, EmptyParam, Visible);

     // impression
     Range:=wdPrintAllDocument; // page Courante  = wdPrintCurrentPage, ...
     PageType:=wdPrintAllPages; // pages impaires = wdPrintOddPagesOnly, ...
     Background:=False;
     wordApplication1.ActivePrinter := 'PDF-XChange Lite 3.0';

     WordApplication1.ActiveDocument.PrintOut(BackGround,EmptyParam,
                                              Range,
                                              EmptyParam,EmptyParam,EmptyParam,
                                              EmptyParam,EmptyParam,EmptyParam,
                                              PageType,
                                              EmptyParam,EmptyParam,EmptyParam,
                                              EmptyParam,EmptyParam,EmptyParam,
                                              EmptyParam,EmptyParam);

     l_dot := string('C:\Users\Administrateur.TEST-2008\AppData\Roaming\Microsoft\Modèles\Normal.dot');
     wordApplication1.activeDocument.Set_AttachedTemplate(l_dot);

     SaveChanges := WdDoNotSaveChanges;
     OriginalFormat := UnAssigned;
     RouteDocument := UnAssigned;
     wordApplication1.ActiveDocument.Close(SaveChanges,OriginalFormat,RouteDocument);

     // fermeture
     SaveChanges := WdDoNotSaveChanges;
     OriginalFormat := wdOpenFormatAuto;
     RouteDocument := UnAssigned;
     wordApplication1.Quit(SaveChanges,OriginalFormat,RouteDocument);
     wordApplication1.Free;

4 réponses

cs_tane Messages postés 4 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 10 juin 2008
3 juin 2008 à 11:15
Salut Cantador,

Je sais que ma config est un peu farfelue mais on la teste dans le cadre d'une migration (passage de Windows 2000 Server à Windows 2008 Server 64 bits)
Ma variable FileName est bien remplie dans les 2 cas
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 juin 2008 à 15:21
bien noté..
Quel est ton anti-virus ?

cantador
0
cs_tane Messages postés 4 Date d'inscription mercredi 15 mai 2002 Statut Membre Dernière intervention 10 juin 2008
10 juin 2008 à 16:47
J'ai pas d'antivirus d'installé sur le serveur pour le moment (à moins que Windows 2008 en ait un par défaut mais je n'ai rien vu...). J'ai désactivé le firewall de Windows également mais ça ne marche toujours pas.
J'ai également essayé de faire un service (donc lancé en tant que system) qui me fait ma tache d'impression et j'ai toujours le même message d'erreur ("L'appel a été rejeté par l'appelé") !!
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
10 juin 2008 à 20:02
oui car sinon c'était Norton le coupable..
essaie de créer une liaison OLE..
et cherche dans google avec le texte du message d'erreur..
bon courage

cantador
0
Rejoignez-nous