Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   OLE Outlook 2007 (https://www.delphipraxis.net/123298-ole-outlook-2007-a.html)

Eurowig 30. Okt 2008 10:40


OLE Outlook 2007
 
Was ist hier passiert?
Die mit Delphi ausgelieferte PAS Datei OutlookXP.pas enthält eine Klasse TOutlookApplication = class(TOleServer).

Jetzt will ich auf Outlook 2007 umstellen. Dazu musste ich die Typbibliotek von Outloolk 2007 importieren, da mein D2006 keine neueren OLE Dateien als die für XP mit an Bord hat. Soweit ist das ja auch ok.
Allerdings: Die erzeugte Wrapperdatei Outlook_TLB.pas hat keine Schnittstelle 'TOutlookApplication = class(TOleServer).' mehr.

Warum?? Oder mach ich da was falsch?

Bernhard Geyer 30. Okt 2008 10:45

Re: OLE Outlook 2007
 
Nach den MS-Regeln von COM (an dies sich MS nicht immer hält) dürfte der verwendete Wrapper für OutlookXp keine Probleme bei Outlook2007 bereiten da nach COM eine Abwärtskompatiblität bereit gestellt wird.

mkinzler 30. Okt 2008 10:46

Re: OLE Outlook 2007
 
Die Klasse wurde auch von CG umbenannt.

Eurowig 30. Okt 2008 11:03

Re: OLE Outlook 2007
 
Bis auf neue Funktionen in Outlook2007 (die mit OutlookXP.pas nicht direkt angesteuert werden können) sollte es auch keine Probleme mit der 'alten' unit OutlookXP.pas geben. Aber das kann keine Lösung sein.

Ich bin etwas verwundert, da die gleiche Umstellung auf Word2007 keine solchen Effekte hatte.

Meiner Meinung nach fehlen nach dem importieren der Outlook 2007 Library dort einiges.
z.b.
Delphi-Quellcode:
XPOutlook : OutlookXP.TOutlookApplication;

begin
  XPOutlook.ConnectKind := ckRunningOrNew;
  XPOutlook.Connect;

end;
Wenn ich in der neuen Importdatei von Outlook2007 nach 'connect' suche, bekommen ich keinen ensprechenden Treffer.

Also kann es ja nicht nur an CodeGear liegen, die vielleicht etwas umbenannt haben. Außer die hätten was dazuprogrammiert, was eher unwarscheinlich ist.

Wie soll ich jetzt mit der Outlook2007 Lib. oben genannten Source nachbilden??

Bernhard Geyer 30. Okt 2008 11:23

Re: OLE Outlook 2007
 
Zitat:

Zitat von Eurowig
Also kann es ja nicht nur an CodeGear liegen, die vielleicht etwas umbenannt haben. Außer die hätten was dazuprogrammiert, was eher unwarscheinlich ist.

Sie haben was nachprogrammiert um einen More-Delphi-Like feeling zu bekommen wenn die Wrapperkomponenten verwendet werden.

Eurowig 30. Okt 2008 12:06

Re: OLE Outlook 2007
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Eurowig
Also kann es ja nicht nur an CodeGear liegen, die vielleicht etwas umbenannt haben. Außer die hätten was dazuprogrammiert, was eher unwarscheinlich ist.

Sie haben was nachprogrammiert um einen More-Delphi-Like feeling zu bekommen wenn die Wrapperkomponenten verwendet werden.

Komisch! In den offiziellen CodeGear Foren wurde mir das importieren wie in meinem ersten Beitrag genannte so empfohlen. Angeblich seien die mitgelieferten Wrapper auch nichts anderes.
Aber wenn dem nicht so ist, wo bekomme ich eine 'komplette' Outlook 2007 Wrapperdatei her. Im Google find ich nichts. Auch bei D2007 sind nur die XP Wrapper dabei. Wie sieht es bei D2009 aus??

Kann vieliecht jemand die offizienen CodeGear Office 2007 Wrapperdateien hier posten?

Bernhard Geyer 30. Okt 2008 12:32

Re: OLE Outlook 2007
 
Zu was benötigst du denn die Wrapper? Nimm doch einfach die Interfaces direkt!

Eurowig 30. Okt 2008 15:35

Re: OLE Outlook 2007
 
Zitat:

Zitat von Bernhard Geyer
Zu was benötigst du denn die Wrapper? Nimm doch einfach die Interfaces direkt!

Was meinst du mit Interface direkt verwenden ??

Zum einen will ich keine Bindung ohne Verwendung der Typbibliothek wie z.B.
Delphi-Quellcode:
Outlook := CreateOleObject('Outlook.Application');
sondern die sogenannte "frühe Bindung".

Dann muss ich noch die Events abgreifen könnnen wie OnSend, OnAttachmentAdd, usw.

Wenn das auch ohne Wrapper geht, umso besser. Aber wie ???

Bernhard Geyer 30. Okt 2008 22:28

Re: OLE Outlook 2007
 
Verwende die Co-Klassen (CoApplication.Create) und EventsSinkImp


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz