Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Outlook Verbindung "Interface nicht unterstützt" (https://www.delphipraxis.net/210780-outlook-verbindung-interface-nicht-unterstuetzt.html)

backdraft 8. Jun 2022 09:26

Outlook Verbindung "Interface nicht unterstützt"
 
Hallo zusammen,

ich habe ein Problem auf einem PC, was ich nicht gelöst bekomme.

Schon folgender Code führt zu der Fehlermeldung "Interface nicht unterstützt":
Code:
  var Outlook := TOutlookApplication.Create(nil);
  Outlook.ConnectKind := ckRunningOrNew;
  Outlook.Connect;
Ich habe schon mehrmals Office neu installiert, auch andere Office Versionen probiert, bis hin zum aktuellen Office 365.
Nichts geht.

Vielleicht hat jemand einen Tipp, auf allen anderen PCs läuft es.
Auf dem PC ist Windows 10 21H2 installiert.

Danke
Oliver

Papaschlumpf73 8. Jun 2022 09:43

AW: Outlook Verbindung "Interface nicht unterstützt"
 
Bei mir kommt da kein Fehler. Leeres Formular und noch folgendes nachgetragen:
Delphi-Quellcode:
uses
 Outlookxp, Vcl.OleServer;
Den Fehler kenne ich allerdings zur Genüge. Bei mir hilft immer die Schnellreparatur von Office 365.

himitsu 8. Jun 2022 09:47

AW: Outlook Verbindung "Interface nicht unterstützt"
 
OutlookXP, Outlook2000 oder Outlook2010?

Vielleicht ist das schon bissl zu alt und diese 10/20-jahre alte API gibt es nicht mehr?

Schau doch mal nach, ob es was Aktuelles gibt?
MainMenü -> Komponente -> Komponente importieren -> nach outlook suchen (Typelib/ActiveX)



[edit]
siehe nachfolgend BerndS ...

Als Out-of-Process-Server sollte OLE32/ActiveX auch übergreifend arbeiten können, also einen 64-Bit-Server in einem 32-Bit-Programm nutzen. (Ich denke mal Outlook arbeitet in seiner eigenen Instanz, womit das zutreffen würde)
Bei einem InProcess-Server, möchte die DLL ja in der eigenen Anwendung geladen werden und da muß die Bittigkeit zwingend stimmen, es also auch eine 32-Bit-DLL für den eigenen 32-Bit-Prozess existieren.

Aber natürlich muß so oder so auch der Server für 32 Bit registriert sein, damit er gefunden wird.
Die DelphiIDE ist 32 Bit ... wenn, dann wird deren Importer diesen auch finden.

BerndS 8. Jun 2022 09:53

AW: Outlook Verbindung "Interface nicht unterstützt"
 
Passt denn auch die Installation 32bit bzw. 64bit zu deinem Programm?

backdraft 8. Jun 2022 13:06

AW: Outlook Verbindung "Interface nicht unterstützt"
 
Ja, ich weiss die API ist etwas alt.
Trotzdem klappt es auf allen Rechnern hier ohne Probleme.
Nur der eine tanzt aus der Reihe.

Bezüglich 32bit/64bit habe ich auch noch nie Probleme gehabt.
Die Anwendung ist 32bit und kann hier problemlos auf meine 64bit Office Installation zugreifen.
Aber ich habe auch auf dem Rechner beides probiert.

Ich kann mich an so einen Fehler vor Jahren erinnern.
Damals hatte es mit diesem "ClickToRun" Installer zu tun, aber ich weiss es nicht mehr leider.

Sinspin 8. Jun 2022 14:45

AW: Outlook Verbindung "Interface nicht unterstützt"
 
Das klappt bei mir sehr zuverlässig:
Delphi-Quellcode:
...
var
  Outlook: OLEVariant;
...
  try
    Outlook := GetActiveOleObject('Outlook.Application');
  except
    Outlook := CreateOleObject('Outlook.Application');
  end;
....
Ohne Referenz auf spezielle Versionen oder TLB's. Geht alles von ganz alleine.

himitsu 8. Jun 2022 15:05

AW: Outlook Verbindung "Interface nicht unterstützt"
 
Von 32 Bit auf Outlook in 64 Bit, hatten wir immer Probleme, vor allem wenn mit Dateianhang.



Im .NET hat MS eine schöne API zum Outlook, daher hatten wir uns dann eine .NET-Anwendung gebaut, welcher wir per Parameter alles reingeben und die leitet das dann an Outlook weiter,

bzw. standardmäßig wird erstmal die MAPI versucht und wenn das nicht geht, dann nochmal mit der Outlook-TransferApp.

(und eine Einstellung gibt es dann noch, also quasi ZuerstMAPI, ZuerstOutlook, NurMAPI oder NurOutlook ... weil es kam auch schon vor, dass die MAPI sagte "ging nicht", aber dennoch alles richtig machte, dadurch dann NOCHMAL mit der .NET-App gemacht, weil sagte ja "ging nicht" und schon war's doppelt)



Vielleicht kann man über eine Win32-.NET-Bridge das .NET-Zeugs auch direkt vom Delphi aus nutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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