vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
sevMail Fehlerbericht 
Autor: vb__
Datum: 24.03.06 18:57

Hallo Dieter,

die neue Version hat zwar nun die gewünschte neue Funktionalität (die neuen Funktionen habe ich in umfangreichen Maße ausprobiert und es funzt ), allerdings ist ein sehr nerviger "Bug" der vorigen Version nicht beseitigt. Schau dir mal folgendes kleines Beispiel an:

Dim h As HeaderInfo
Dim anz As Long
Dim kbneu As Long
Dim colMails As New Collection
 
anz = sevPOP1.NewMailsAvailable(kbneu)
 
For i = 1 To anz
 
  Set h = sevPOP1.HeaderInfo(i)
 
  Dim m As new cMail 'eigene Mail-Klasse
 
  Set m.header = h 'header ist vom Typ HeaderInfo in der Klasse
 
  colMails.Add m
 
Next i
 
SetIsSpam colMails '<-- Sub in der der Fehler autritt
Irgendwann später bei der Verarbeitung der Objekte in colMails treten beim Auslesen und Verarbeiten der Daten Fehler auf und zwar wenn man auf die Eigenschaft header zugreift kommt die Fehlermeldung: "Objektvariable oder With-Blockvariable nicht festgelegt.". Zwischen Zuweisung (Set m.header = h) und Verwendung (m.header.Subject, s. unten) erfolgt kein weiterer lesender/schreibender Zugriff auf m.header.

Private Sub SetIsSpam(colMails As Collection)
 
  Dim m As cMail
 
  On Error Goto error_handler
 
  For i = 1 to colMails.Count
 
    Set m = colMails(i)
 
    If m.header.Subject = "böses Wort" Then m.IsSpam = True '<-- Hier tritt der 
    ' FEHLER auf
 
  Next i
 
  Exit Sub
 
error_handler:
 
  MsgBox Err.Description
 
End Sub
Anders ausgedrückt: Zwischenzeitlich wird header gelöscht und auf Nothing gesetzt. Tritt dieser Fehler auf, so bleibt sevPOP1 zwar mit dem Server verbunden, allerdings gibt sevPOP1.NewMailsAvailable() danach immer 0 zurück (und damit wird die Anwendung dann ziemlich unbrauchbar), obwohl ja vorher schon Mails in der derselben Session erkannt wurden (und die Mails sind zwischenzeitlich auch nicht gelöscht worden). Erst nach einem Neustart funktioniert es dann wieder. POP3-Error hat nach Auftreten des Fehlers den Wert "", LastResponse steht auf "+OK" und sevPOP1.Connected weiterhin auf True. Ich nehme an, dass du irgendwann nach Abrufen des HeaderInfo-Objekts intern das Objekt löschst und somit die Referenz die ich darauf halte ins Nirvana (Nothing) zeigt. Es wäre mir eigentlich schon geholfen, wenn ich mir in meinem Programm eine wertmäßige Kopie des HeaderInfo-Objekts ziehen könnte, z. B. so:

Private Function KopiereHeaderInfo(h As HeaderInfo) As HeaderInfo
 
    Dim hneu As HeaderInfo
 
    hneu.Attachments = h.Attachments
    hneu.cc = h.cc
    hneu.ContentDisposition = h.ContentDisposition
    hneu.ContentEncoding = h.ContentEncoding
    hneu.ContentType = h.ContentType
    hneu.DeliveredTo = h.DeliveredTo
    hneu.DeliveryDate = h.DeliveryDate
    hneu.Header = h.Header
    hneu.id = h.id
    hneu.MailDate = h.MailDate
    hneu.MailFrom = h.MailFrom
    hneu.MailTime = h.MailTime
    hneu.MailTo = h.MailTo
    hneu.MessageID = h.MessageID
    hneu.MimeVersion = h.MimeVersion
    hneu.NotificationTo = h.NotificationTo
    hneu.Organization = h.Organization
    hneu.Priority = h.Priority
    hneu.RecieveDate = h.RecieveDate
    hneu.RecieveTime = h.RecieveTime
    hneu.ReplyTo = h.ReplyTo
    hneu.ReturnPath = h.ReturnPath
    hneu.Size = h.Size
    hneu.Subject = h.Subject
    hneu.XMailer = h.XMailer
    hneu.XMSPriority = h.XMSPriority
    hneu.XPriority = h.XPriority
 
    Set KopiereHeaderInfo = hneu
 
End Function
Dann könnte man den Aufruf von oben, also
  Set h = sevPOP1.HeaderInfo(i)
in
  Set h = KopiereHeaderInfo(sevPOP1.HeaderInfo(i))
ändern.

Dies funktioniert aber nicht, da die Properties von HeaderInfo nur gelesen werden können.

Oder es liegt an etwas ganz anderem. Würde mich über schnelle Hilfe dazu freuen, da ich mit dem ansonsten fertigen Programm nicht weiterkomme.

MfG

vb__
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
sevMail1.217vb__03.02.06 10:29
Re: sevMail756Robert6704.02.06 12:10
*AKTUELLER STAND*658vb__25.02.06 18:22
Re: *AKTUELLER STAND*769ModeratorDieter27.02.06 11:36
Re: sevMail775ModeratorDieter08.03.06 08:17
sevMail Fehlerbericht774vb__24.03.06 18:57
Re: sevMail Fehlerbericht804ModeratorDieter24.03.06 19:40
Re: sevMail Fehlerbericht725vb__25.03.06 00:55

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel