Ver Mensaje Individual
  #1  
Antiguo 15-02-2005
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Reputación: 21
VRO Va por buen camino
Problemilla Servidor RPC no disponible

Hola, he creado 2 documentos de Word uno es una tabla, y otro es la un recibo del agua, estos 2 documentos se combinan mediante una macro, la tabla contiene los datos que hay que insertar en el recibo mediante una macro de combinacion de correspondencia.

Para lo cual utilizo un TWordApplication (word) y un TWordDocument(wd),
la cuestión es que los abro y los cierro, y cuando lo ejecuto una segunda vez para hacer otro recibo me pone El Servidor RPC no está disponible.

He leido en un hilo que hay que comprebar que el servicio esté cerrado, ¿Como se comprueba eso?, yo creo que abro y cierror correctamente los componentes, pero no encuentro porqu puede fallar.

Acontinuacion os paso el codigo para ver si escontrais el error:

Abro
Código Delphi [-]
 datos.word.Connect;
datos.word.Documents.Add(emptyParam,emptyParam,emptyParam,emptyParam);
   datos.word.ActiveDocument.Activate;
   datos.wd.ConnectTo(datos.word.ActiveDocument);

Cierror solo el documento
Código Delphi [-]
route:=''+datos.directapli+'datos\tabla.doc';
      datos.wd.SaveAs(route,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
      datos.wd.Close;

abro el documento para hacer la combinacion
Código Delphi [-]
 datos.word.Connect;
    filename:=''+datos.directapli+'datos\recibo.doc';
    try
     datos.word.Documents.Open(filename,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam  ,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);

cierror todo
Código Delphi [-]
 datos.word.ActiveWindow.Close(False,EmptyParam);
      try
      fichero:=form20.u+'\'+combotri.text+'_'+comboano.Text+'.doc';
      datos.word.ActiveDocument.SaveAs( fichero,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,Empt  yParam,EmptyParam);
      datos.word.ActiveDocument.Close(False,emptyParam,EmptyParam);

      datos.word.Disconnect;
      datos.word.Quit;
datos.wd.close;

el error me le da cuando vuelvo a ejecutar la operacion al abrir en :

Código Delphi [-]
datos.word.Documents.Add(emptyParam,emptyParam,emptyParam,emptyParam);

Por favor si alguien sabe porque es el error ó como comprobar que el servicio esta cerrado, se lo agradecería mucho, ya que tengo que entregar mi aplicacion este Jueves, como eis me urge bastante.

Deantemano muchas gracias por su colaboracion y ayuda en este problema y en todos los surgidos a lo largo de la construccion de mi primera aplicacion en Delphi
Responder Con Cita