AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Mails versenden über Live Mail
Thema durchsuchen
Ansicht
Themen-Optionen

Mails versenden über Live Mail

Ein Thema von schaumermal · begonnen am 7. Okt 2012 · letzter Beitrag vom 7. Okt 2012
Antwort Antwort
schaumermal

Registriert seit: 26. Apr 2006
Ort: Bad Vilbel
49 Beiträge
 
Delphi 12 Athens
 
#1

Mails versenden über Live Mail

  Alt 7. Okt 2012, 11:37
Hallo zusammen,

kann mir jemand bei folgendem Problem helfen:

Mit dem folgenden Code erstelle ich eine Email:

Delphi-Quellcode:
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;
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')

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?

Geändert von schaumermal ( 7. Okt 2012 um 11:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Mails versenden über Live Mail

  Alt 7. Okt 2012, 12:09
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;
  Mit Zitat antworten Zitat
schaumermal

Registriert seit: 26. Apr 2006
Ort: Bad Vilbel
49 Beiträge
 
Delphi 12 Athens
 
#3

AW: Mails versenden über Live Mail

  Alt 7. Okt 2012, 12:36
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.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

AW: Mails versenden über Live Mail

  Alt 7. Okt 2012, 12:50
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.
Definiere: "Auf einmal". Gleicher PC von heute auf morgen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
schaumermal

Registriert seit: 26. Apr 2006
Ort: Bad Vilbel
49 Beiträge
 
Delphi 12 Athens
 
#5

AW: Mails versenden über Live Mail

  Alt 7. Okt 2012, 13:02
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.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Mails versenden über Live Mail

  Alt 7. Okt 2012, 13:07
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?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
schaumermal

Registriert seit: 26. Apr 2006
Ort: Bad Vilbel
49 Beiträge
 
Delphi 12 Athens
 
#7

AW: Mails versenden über Live Mail

  Alt 7. Okt 2012, 13:19
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:
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;
Aber auch OutlookApplication := CreateOleObject('Outlook.Application') liefert die Meldung ungültige Variant-Operation.

Kann man den nicht Windows Live starten (aber nicht über ShellExecute(...), da ich teilweise auch Dateihänge an die Mail anfügen muss)?
  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 08:23 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