Problem beim Löschen von Emails mit der _pop3.au3 UDF(überarbeitet von Thorsten Willert)

  • Hi liebe Community,
    Ich habe ein Problem mit einem Selbsterstellten Mailprogramm was die Überarbeitete _POP3.au3 UDF benutzt.
    Ihr kriegt sie hier.
    Ich habe die Abschnitte mit Nutzername, Passwort und Addresse mit einem '*' zensiert.
    Das eigentliche Problem liegt darin, das wenn man auf den Löschen-Button drückt und einen Eintrag aus der ListView selektiert hat, das dann einfach sich das Programm nach dem +OK vom Server aufhängt... :cursing:

    Die Funktion die die Emails löschen soll, funktioniert so:

    1.ListView Select abfragen
    2._pop3dele ausführen
    Aber bei dem letzten Befehl haperts:
    Die Debug-Ausgabe zeigt ein +OK vom Server an, und danach hängt sich die Verbindung auf 8|
    Bitte um schnelle Hilfe.

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include "_pop3.au3"
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIListView.au3>
    $address = "*"
    $name = "*"
    $pass = "*"
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=
    Global $Form1 = GUICreate("Email-Programm", 615, 438, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    Global $Button1 = GUICtrlCreateButton("Connect", 0, 0, 75, 25)
    GUICtrlSetOnEvent(-1, "Connect")
    Global $Button2 = GUICtrlCreateButton("Disconnect", 240, 0, 75, 25)
    GUICtrlSetOnEvent(-1, "Disconnect")
    Global $Input1 = GUICtrlCreateInput($address, 8, 32, 121, 21)
    Global $Input2 = GUICtrlCreateInput($name, 8, 56, 121, 21)
    Global $Input3 = GUICtrlCreateInput($pass, 8, 80, 121, 21)
    Global $Button3 = GUICtrlCreateButton("Abrufen", 80, 0, 75, 25)
    GUICtrlSetOnEvent(-1, "Abrufen")
    Global $Button4 = GUICtrlCreateButton("Löschen", 160, 0, 75, 25)
    GUICtrlSetOnEvent(-1, "Loeschen")
    Global $ListView1 = GUICtrlCreateListView("Von:|Subjekt:|Size:|Size2:", 136, 32, 250, 150)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Global $IsConnected = False
    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Connect()
    $sLogin = GUICtrlRead($Input2)
    $sPasswd = GUICtrlRead($Input3)
    $sPopServer = GUICtrlRead($Input1)
    _POP3Connect($sLogin,$sPasswd,$sPopServer)
    _POP3Noop()
    $a_mails = _POP3Info()
    $a_list = _POP3List()

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To UBound($a_mails) - 1
    GUICtrlCreateListViewItem( $a_mails[$i][1]&"|"&$a_mails[$i][3]&"|"&$a_list[$i][0]&"|"&$a_list[$i][1], $ListView1 )
    Next
    $IsConnected = True
    EndFunc
    Func Disconnect()
    _POP3Quit()
    _POP3Disconnect()
    $IsConnected = False
    EndFunc
    Func Abrufen()

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc
    Func Loeschen()
    $mark = _GUICtrlListView_GetSelectionMark($ListView1)
    $mark = $mark + 1
    _POP3Dele($mark)
    MsgBox(0,"","weiter")
    EndFunc
    Func Form1Close()
    If $IsConnected = True Then
    Disconnect()
    Exit
    Else
    Exit
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    FileDelete( "mails.txt" )
    _POP3Quit()
    _POP3Disconnect()

    [/autoit]

    MfG

    Jonas

    MfG Jonas

    Einmal editiert, zuletzt von Jonas Houben (7. Juni 2013 um 22:40)