Hallo, bin neu hier im forum (1 Post) hab ein Problemmchen das ich schon seid ein paar Wochen alleine nicht Lösen kann , brauche eigentlich nur einen sauberen Connect/Disconnect zu MCWord Document...
Description : Programm sollte inhalt einer im Zip gelagerten (MCWord - Datei) testen.
Hierfür wird die Datei rauskopiert und auf der Festplatte abgelegt, dann wird zu der Datei verbindung hergetellt (Connect Funktion aufgerufen) die Datei wird im Visible:=false; Mode aufgerufen denn der User soll von der überprüfung nichts mitkrigen.. dann kommen die eigentlichen Tests (wobei die Datei nicht sichtbar bleiben soll), dann kommt Disconnect Funktion.
Problemm :
a) falls eine andere Word anwendung gerade offen ist wird diese beim starten vom programm ebenso Unvisible.
b) beim schlissen/löschen der Datei bleibt Wordprozess immer noch laufen, wenn ich den aber als Prozess kill dann wird dann müsste ich das programm restarten um weitere tests zu machen denn sonnst kommt fehler RPC-Server nicht verfügbar... ausserdem werden auch alle anderen laufenden MCWord Anwendungen "mitgekillt"
code:
Connect Function
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| Function TForm1.Connect():Boolean; Begin WordApplication1.Create(nil); WordApplication1.Connect; WordApplication1.Visible:=false; if FileExists(TempPath.text) then Begin try YourWordDocument:=TempPath.text; WordApplication1.Documents.Open(YourWordDocument,emptyparam,emptyparam,emptyparam ,emptyparam,emptyparam,emptyparam ,emptyparam,emptyparam,emptyparam,emptyparam ,emptyparam,emptyparam,emptyparam,emptyparam); WordDocument1.ConnectTo(WordApplication1.ActiveDocument); WordApplication1.Visible:=false; finally WordApplication1.disconnect; Result := false ; end; End; Result := true ; End; |
Disconnect Function
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Function TForm1.DisConnect():Boolean; var save : OleVariant; Begin Save := bool(0); try WordApplication1.Activedocument.Close ( save,EmptyParam,EmptyParam) ; finally Result := false; end; WordApplication1.Visible:=false; Result := true; |
das sind die beiden funktionnen in dennen wohl mein problemchen drinne ist...
Schon mal danke
und Grüsse
Z@ares