![]() |
Mails versenden über Live Mail
Hallo zusammen,
kann mir jemand bei folgendem Problem helfen: Mit dem folgenden Code erstelle ich eine Email:
Delphi-Quellcode:
Ich erhalte jetzt aber auf Rechnern mit Win7 ohne Outlook aber mit LiveMail die Meldung "Ungültige Variant-Operation" bei dem Aufruf OutlookApplication := GetActiveOleObject('Outlook.Application')
function EMailErstellen(EMail, Betreff, EMailTextHTML:String; Anhang:TStrings):Boolean;
Var OutlookApplication: Variant; Mailitem, ObjectInspector, WordEditor: OleVariant; s:string; I:Integer; begin try OutlookApplication := GetActiveOleObject('Outlook.Application'); except try OutlookApplication := CreateOleObject('Outlook.Application'); except end; end; . . . end; Da dies bisher immer ging stehe ich auf dem Schlauch wo ich noch nachschauen kann warum auf einmal die Meldung erscheint. Kann hier jemand helfen? |
AW: Mails versenden über Live Mail
Wenn Outlook nicht installiert ist, musst du natürlich mit einer Fehlermeldung aussteigen:
Delphi-Quellcode:
begin
try OutlookApplication := GetActiveOleObject('Outlook.Application'); except try OutlookApplication := CreateOleObject('Outlook.Application'); except raise Exception.Create('MS Outlook kann nicht geöffnet werden'); end; end; |
AW: Mails versenden über Live Mail
Hi,
danke für Deine Rückmeldung. Mit der Fehlerbehandlung hast Du natürlich Recht! Allerdings verstehe ich nicht, warum diese Fehlermeldung "auf einmal" kommt. Bisher lief dieser Programmcode einwandfrei und ich konnte über LiveMail auch Mails erstellen. |
AW: Mails versenden über Live Mail
Zitat:
|
AW: Mails versenden über Live Mail
Hi,
ja es handelt sich um die gleichen PC's (also mehrere) bei denen nun dies Problem auftritt. Was in der Zwischenzeit passiert ist, ist dass ich das Programm weiterentwickelt habe OHNE jedoch diesen Teil des Codes zu verändern. Aber nun erhalte ich diese Meldung beim erstellen der Mail. Es sieht also so aus, als ob durch die Neucompileierung nun das Problem entstanden ist :( Nur kann ich mir dies nicht erklären, da dieser Programmcode vorher ordnungsgemäß lief. |
AW: Mails versenden über Live Mail
GetActiveOleObject gibt Interfacezeiger auf laufende instanz zurück. Läuft den outlook zu dem entsprechende zeitpunkt?
Hast du auch den vergleich zwischen alter Exe und neuer Exe am gleichen PC ohn sonst zwischendurch zu verändern? |
AW: Mails versenden über Live Mail
Auf diesen Rechnern ist KEIN Outlook installiert und trotzdem lief diese Funktion reibungslos.
Da natürlich nicht sichergstellt ist, dass Outlook läuft versuche ich dieses ja zu starten (CreateOleObject) falls nicht aktiv.
Code:
Aber auch OutlookApplication := CreateOleObject('Outlook.Application') liefert die Meldung ungültige Variant-Operation.
begin
try OutlookApplication := GetActiveOleObject('Outlook.Application'); except try [B]OutlookApplication := CreateOleObject('Outlook.Application');[/B] except raise Exception.Create('MS Outlook kann nicht geöffnet werden'); end; end; Kann man den nicht Windows Live starten (aber nicht über ShellExecute(...), da ich teilweise auch Dateihänge an die Mail anfügen muss)? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:08 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