Hiermit sollte es aber gehen:
Da sind aber noch 2 nicht unbedeutende Fehler im Code:
Zum einen, da Winword im Hintergrund geladen wird, also ohne offen sichtbar zu sein, muss es am Ende des aufrufenden Codes geschlossen werden mit
Sonst bleibt das Winword ohne sichtbares Fenster als Prozess im Speicher und wird bei jedem Neuaufruf mit einer zusätzlichen Programmkopie in den Speicher geladen.
Zum zweiten: das Oleobject (also msword) kann nicht mittels Free freigegeben werden, sondern es muss unbedingt verwendet werden:
Ausserdem sollte das aus bekanntem Grund unbedingt korrekt gekapselt werden:
Code:
try
msword:=CreateOleObject('WORD.APPLICATION');
except
showmessage('Word kann nicht gestartet werden!');
exit;
end;
try
{.. übriger Code ..}
finally
msword.Quit;
msword := UnAssigned;
end;