Fehler beim Benutzen von MS Outlook

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
henxl
UDF-Programmierer
UDF-Programmierer
Beiträge: 91
Registriert: Fr, 10. Feb 2006 19:46
Wohnort: Mannheim

Fehler beim Benutzen von MS Outlook

Beitrag von henxl »

Hi,

ich benutze unter anderem MS Outlook, um Mails zu versenden. Hier ein Auszug:

Code: Alles auswählen


#define olMailItem      0

FUNCTION cl_SendMailToOutlook( cBetreff, cBody, acFile, acEmail, lDisplay )
    ...
    oOutlook := CreateObject( "Outlook.Application" )

    IF EMPTY(oOutlook)
      ...
      RETURN .F.
    ENDIF
    ...
    oMessage := oOutlook:CreateItem( olMailItem )
    oMessage:subject := cBetreff                                   // Dies ist Zeile 64
    oMessage:Body := cBody
    IF LEN(acEmail) > 0
        FOR i := 1 TO Len(acEmail)
           oMessage:Recipients:Add(acEmail[i])
        NEXT
    ENDIF
    IF !EMPTY(acFile)
      IF LEN(acFile) > 0
        FOR i := 1 TO Len(acFile)
           oMessage:Attachments:Add(acFile[i])
        NEXT
      ENDIF
    ENDIF

   //  Senden oder Anzeigen
    IF lDisplay
      oMessage:Display(.T.)
    ELSE
      ...
      oMessage:Send()
      ...
    ENDIF
   
    oMessage := NIL
    oOutlook:destroy()

RETURN lRet
Dabei tritt gelegentlich (nicht wiederholbar) folgender fataler Fehler auf, das Programm stürzt ab:
FATAL ERROR LOG
No continue after this Error!
SYS Thread-ID: 392
Module: EXE
Error Codes: EH: 10 Sub: 0(0) OS: 0 XPP: 0
Call Stack of Thread 1 (392):
CL_SENDMAILTOOUTLOOK(64)
CL_MAILSEND(199)
CL_MAIL(1279)
CL_MAILSUPPORT(1804)
(B)HELPMENU@0028(511)
GB_START(279)
GB_MAIN(132)
MAIN(71)
Call Stack of Thread 2 (596):
Call Stack of Thread 4 (1196):
File: D:\Gb\GB.EXE
TimeStamp: 20090417 09:45
End of FATAL ERROR LOG.
Der Inhalt der Variablen wird im Programm geprüft und ist ok!

Kann mir jemand erklären, um was für einen Fehler es sich dabei handelt ?

Grüße
Heinz
Das einzige, was ich weiß ist, dass ich nichts weiß, Sokrates
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Fehler beim Benutzen von MS Outlook

Beitrag von Martin Altmann »

Hallo Heinz,
Du prüfst in Deiner Function nicht ab, ob das :createItem() erfolgreich war - und das wird wahrsceinlich das Problem sein!
Ansonsten:
Der Fehler tritt auf im Systemthread 1 (ID 392) und ist somit ein interner Fehler, an dem Du nicht viel ändern kannst.
Mein Verdacht geht totzdem auf das nicht mögliche Erzeugen mittels :createItem()

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Fehler beim Benutzen von MS Outlook

Beitrag von Herbert »

Ich habe ein ähnliches Problem:
Beim Versenden eines Mails via Outlook funktioniert der folgende Code nur dann, wenn Outlook vor dem Start der Applikation bereits gestartet war.

Code: Alles auswählen

    oOutlook := CreateApplication("Outlook.Application")
    IF oOutlook <> NIL
      oMail          := oOutlook:CreateItem(0)
      aMailArg[1] := 'mail@blabla'
      oMail:Recipients:Add(aMailArg[1])      // Linie 546 !
      oMail:Subject  := "Auslagerung"
      oMail:body     := 'Ausgelagerte Adresse'
      aMailArg[1] := 'c:\xyz\xyz.zip'
      oMail:Attachments:Add(aMailArg[1])
      oMail:Send()
      oMail:= NIL
      oOutLook:quit()
//      oOutlook:destroy()
    ENDIF
  ENDIF
Falls Outlook nicht lief und das Programm den Code durchläuft, erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

Xbase++ Version     : Xbase++ (R) Version 1.90.355
Betriebssystem      : Windows Vista 06.00 Build 06001 Service Pack 1
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: C VALUE: Recipients
oError:canDefault   : J
oError:canRetry     : N
oError:canSubstitute: J
oError:cargo        : NIL
oError:description  : Vorgang abgebrochen

oError:filename     : NIL
oError:genCode      : NIL
oError:operation    : Recipients
oError:osCode       :          -2147467260
oError:severity     :          2
oError:subCode      :       6500
oError:subSystem    : Automation
oError:thread       :          3
oError:tries        : NIL
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from DOEINAUS(546)
Was ist falsch?
Grüsse Herbert
Immer in Bewegung...
Antworten