Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Word (https://www.clubdelphi.com/foros/showthread.php?t=61619)

emeritos 14-11-2008 13:42:12

Word
 
Hola,

En un tema que ahora no encuentro se hablama de como abrir el word y cargarle datos de una B.D. y asi lo hice y salio bien (de monento), lo hice asi:


// Creas un objeto Word
Word := CreateOleObject('Word.Application');

// Añades un documento basado en la plantilla
Word.Documents.Add('archivo.dot');
Documento := Word.Documents.Item(1);

// Asignas valores a los campos
Documento.Variables.Add('ncuadro', 'valor']);
Documento.Variables.Add('campo1', 'valor1']);
Documento.Variables.Add('campo2', 'valor2']);

Documento.Fields.Update;
Word.ActiveWindow.View.ShowFieldCodes := false;
Word.Visible := true;


Hasta ahi correcto y cuando cierro el From pongo
Word.Visible := false;


Pues bien cuando salgo de la aplicacion me da este error:

En tiempo de ejecucion -->

"Access violation at address 774FCACF in module ole32.dll"
"Runtime error 216 at 00403A1A "

¿ Como puedo solucionarlo ? ¿ Me falta alguna etiqueta para cerrar bien el word?

PD. Eso si si despues de cerrar la aplicacion intento borrar el fichero archivo.dot, me dice que no puedo eliminarlo por que otro usuario lo esta utilizando.

Eso si esto utilizando Delphi 7 y me encontrado en la pestaña de Servers objetos del word y del exect pero no se utilizarlo (supongo que es para lo mismo), alguna suguerencia de como se utilizan.

coso 14-11-2008 13:53:41

Hola, creo que te olvidas de cerrar el documento. No se bien bien como se hace, pero puedes probar con Word.Free o Word.Release o algo parecido a Word.CloseDocument. saludos.

defcon1_es 14-11-2008 16:58:00

Hola. Prueba esto:

Código Delphi [-]
...
var WordApp: OleVariant;
...

procedure Liberar_Word;
begin
  if not VarIsEmpty(WordApp)
  then begin
    WordApp.DisplayAlerts := False;  
    WordApp.Quit;
  end;
end;


La franja horaria es GMT +2. Ahora son las 04:02:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi