Hallo!
Ich suche eine Möglichkeit, mein Delphi-Programm was immer laufen soll jeweils mit einer laufenden Instanz von Word zu verbinden.
Zunächst hatte ich versucht, die Server-Komponenten (Word XP Application) im Designer zu verwenden und habe der Eigenschaft ConnectKind den Wert ckRunningOrNew zugewiesen. Das funktioniert, nur: Wenn Word nicht läuft, wird immer ein Prozess von Word gestartet der dann läuft. Das will ich nicht, sondern mein Programm soll eine Verbindung zu Word herstellen, wenn es vom Benutzer gestartet wurde.
Dafür habe ich dann im Quellcode folgendes mit einem Timer versucht:
Prozedur des Timer-Events:
Delphi-Quellcode:
try
word := TWordApplication.Create(Application);
word.AutoConnect := False;
word.AutoQuit := False;
word.ConnectKind := ckRunningInstance;
word.Connect;
// ...
// -- hier dann: Operationen auf dem Word-Objekt --
// ...
word.Disconnect;
finally
word.Free;
end;
Das ganze klappt nicht. Ich bekomme "Unable to retrieve a pointer to a running object registered with
OLE for Word.Application [...]".
Hat jemand eine Idee, was ich ändern muss? Oder eine ganz andere Idee, wie ich mein Delphi-Programm immer mit einer Word-Instanz verbinden kann?? Das ganze soll halt im Hintergrund passieren und es sollen NICHT extra Word-Prozesse (mit oder ohne Fenster) gestartet werden.