AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OLE-Objekt über Prozess-ID binden

Ein Thema von ThoPos · begonnen am 10. Aug 2015 · letzter Beitrag vom 10. Aug 2015
Antwort Antwort
ThoPos

Registriert seit: 30. Jun 2004
Ort: Köln
69 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

OLE-Objekt über Prozess-ID binden

  Alt 10. Aug 2015, 08:02
Hallo zusammen,

ich stehe vor folgenden Problem und sehe (momentan) die Lösung nicht.

Der Anwender hat mehrere Instanzen eines OLE-fähigen Programmes laufen, z.B. winword.exe oder excel.exe. Nun soll mein Programm eine bestimmte Instanz per OLE binden und das geöffnete Dokument ansprechen.

Das Auslesen aller Proess-ID der gesuchten Exe-Dateien ist einfach. Mein Problem ist aber:
Wie binde ich ein Programm per OLE, wenn ich nur dessen Prozess-ID kenne?

Der Weg über die ROT (running object table) geht leider nicht, da die geöffneten Dokumente leider dort nicht eingetragen werden.

Gruß aus Köln
Thomas
Thomas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: OLE-Objekt über Prozess-ID binden

  Alt 10. Aug 2015, 08:11
Reicht es nicht die Referenz auf das Dokument zu speichern?
Markus Kinzler
  Mit Zitat antworten Zitat
ThoPos

Registriert seit: 30. Jun 2004
Ort: Köln
69 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: OLE-Objekt über Prozess-ID binden

  Alt 10. Aug 2015, 08:18
Wie meinst Du das?

Konkrektes Beispiel: Der Anwender hat die winword.exe mehrfach laufen. In einer dieser Word-Instanzen wurde ein Dokument aus einem Sharepoint geöffnet; aus diesem Grund steht das Dokument auch nicht in der ROT.
Jetzt benötige ich die Winword-Instanz, in der das Sharepoint-Dokument geöffnet ist, in einem OLEVariant. Meine einzige Information ist der Dateiname des WOrd-Dokumentes (kompletter Sharepoint-Link).

Wie kann ich jetzt die richtige Instanz per OLE binden?

Gruß
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: OLE-Objekt über Prozess-ID binden

  Alt 10. Aug 2015, 08:23
Wieso brauchst du überhaupt dieses geöffnete Dokument per OLE? Was willst du erreichen?

Ich könnte mir vorstellen das der Ansatz das extern per (Delphi-)Exe zu lösen u.U. der falsche (viel zu komplizierte) Ansatz ist. Evtl. ist ein Ansatz mit einem Installierten Word-Plugin einfacher und auch der zielgerichtete Ansatz.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
ThoPos

Registriert seit: 30. Jun 2004
Ort: Köln
69 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: OLE-Objekt über Prozess-ID binden

  Alt 10. Aug 2015, 08:35
Es sollen Daten aus unterschiedlichsten Quellen (z.B. am Client angeschlossene Analysengeräte, Oracle- sowie SQL-Datenbanken, andere Office-Programme, etc.) in das geöffnete Word- bzw. Excel-Dokument eingefügt werden. Mit einem VBA-PlugIn bin ich hier an meine Grenzen gestossen; insbesondere da der Oracle-Client nicht auf allen Rechnern installiert ist bzw. sein darf. Also habe ich bereits vor einigen Jahren eine Delphi-Exe erstellt, die die Daten super einfach zwischen den Programmen übermittelt. Dabei gehe ich über die ROT um die Instanzen zu binden.

Jetzt wird leider verstärkt Sharepoint eingesetzt. Die Anwender wollen weiterhin die Daten mit den vertrauten Tools zwischen den Systemen und Dokumenten austauschen. Aus mir unverständlichen Gründen tauchen aber die Sharepoint-Dokumente nicht in der ROT auf. Somit benötige ich hier einen anderne Weg, um die Bindung herzustellen.
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz