@mokus
1) Das ist auch ein sehr interessantes Verhalten, es funktioniert wenn man am tag 15 mal ausdruckt 14 mal und beim 15 mal schmiert das ganze ab. Man kann eigentlich keinen Zusammenhang feststellen.
2)
Delphi-Quellcode:
Result := False;
// ResetError;
// ResetWarning;
try
InitializeWordApplication;
//Hier wird Word gestartet
try
ovCurPrinterName := WordApp.ActivePrinter;
try
OpenDocument(fname);
// UpdateFieldsAtPrint für das Aktualisieren der Seitennummern.
WordApp.Options.UpdateFieldsAtPrint := ovTrue;
SetWordPrinter(ovPrinterName,ovPaperTray);
//Hier der Drucker gesetzt
WordDoc.PrintOut(ovFalse
{Background});
WordDoc.Close;
//Das geöffnete Dokument geschlossen
Result := true;
finally
SetWordPrinter(ovCurPrinterName,ovPaperTray);
end;
finally
//HIER TRITT DER FEHLER AUF
CloseWordApplication;
//Eine Unterfunktion aufgerufen die Word schließt und abhängig vom Brief und davon ob etwas geändert
//wird denn Brief speichert
end;
except
on E:
Exception do begin
SetError(E);
end;
end;
Und in der Funktion CloseWordApplication passiert folgendes (natürlich ist das ganze in dem try/except Block aber das poste ich hier jetzt nicht
):
Delphi-Quellcode:
if assigned(WordDoc) then
begin
if WordDocConnected then
begin
if WordAppConnected then
begin
// Evtl. offenes Dokument speichern und schliessen
ovSaveChanges := wdSaveChanges;
WordDoc.Close(ovSaveChanges{SaveChanges}, ovEmpty{OriginalFormat},
ovEmpty{RouteDocument});
end;
WordDoc.Disconnect;
WordDocConnected := False;
end;
WordDoc.Free;
WordDoc := nil;
end;
if assigned(WordApp) then
begin
if WordAppConnected then
begin
// WordApp Objekt disconnecten und freigeben
WordApp.Quit; //HIER BLEIBT ER HÄNGEN
WordApp.Disconnect;
WordAppConnected := False;
end;
WordApp.Free;
WordApp := nil;
end;
3)
Nein habe noch nicht wirklich was verändert außer das ich Log-Funktionen eingebaut habe um die genaue Stelle des Fehlers (WordApp.Quit) rauszufinden. Da ich nicht weiß wie ich diese Funktion zum laufen Bringen soll stehe ich hier vor nem Problem
@nahpets
Nein Word läuft im Hintergrund und ich vermute das ich das unserem Kunden nicht erklären kann das er vorübergehen Word sieht
Es kann natürlich auch ein Fehler von Word sein (Fehler tritt nur mit Word 2007 in Kombination mit Win7 auf). Aber auch hier kann mir die Microsoft Seite nicht weiterhelfen
Wie gesagt ich such schon seit 2-3 Monaten nach dem Fehler und weiß nicht mehr weiter.