Einzelnen Beitrag anzeigen

mbs

Registriert seit: 29. Dez 2003
31 Beiträge
 
#1

Per Delphi mit laufender Word-Instanz verbinden / WORD OLE

  Alt 19. Mär 2004, 14:09
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.
Gruß,
MB
  Mit Zitat antworten Zitat