Problem mit DriveMapAdd

  • Folgender Code bringt mich ins grübeln:

    [autoit]

    $Fehler = DriveMapAdd("K:", "\\opteron\sata\David")
    If @error = 0 Then
    MsgBox(1, "Fehler", "Folgender Fehler:" & $Fehler)
    EndIf

    [/autoit]


    Bei mir geht die MsgBox auf und laut Hilfe heißt das:

    Zitat

    "Fehler: Gibt 0 zurück, falls ein neues Mapping nicht erstellt werden konnte und setzt @error (siehe Bemerkungen). "


    Bei mir wurde das Netzlaufwerk aber normal erstellt und ist im Arbeitsplatz vorhanden.
    Die Variable $Fehler beinhaltet eine "1"...laut Hilfe: "

    Zitat

    1 = Undefinierter / anderer Fehler. @extended enthält den Rückgabewert der Windows API."

    Für mich ergibt das leider keinen Sinn, kann mir das bitte jemand erklären?
    Gruß h0scHberT

    Einmal editiert, zuletzt von h0scHberT (20. April 2009 um 00:55)

  • Also bei mir kann ich auf die Linkstation wie folgt im heimnatlichen Netzwerk ein Buchstaben mappen:
    DriveMapAdd("R:", "\\Linkstation\recht_law" , 0 , "AlinaHL" , "19063112")
    DriveMapAdd("S:", "\\Linkstation\sicherheit_safety" , 0 , "AlinaHL" , "19063112")
    ;DriveMapAdd("H:", "\\Linkstation\_heim_home" , 0 , "AlinaHL" , "19063112") ; deak. HDD-2 not connected

    Und nicht vergessen ggf. die DriveMap's wieder aufzulösen durch:
    DriveMapDel("R:")
    DriveMapDel("S:")
    ;DriveMapDel("H:") ; deak. HDD-2 not connected

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

    • Offizieller Beitrag

    Das "gibt 0 zurück" bezieht sich auf den Return-Wert und nicht auf das @error-Makro.
    @error erhält im Fehlerfall einen Wert größer als Null, deshalb muss Deine Abfrage so lauten:

    [autoit]


    $Fehler = DriveMapAdd("K:", "\\opteron\sata\David")
    If @error > 0 Then
    MsgBox(1, "Fehler", "Folgender Fehler:" & @error)
    EndIf

    [/autoit]


    oder in Kurzform:

    [autoit]


    $Fehler = DriveMapAdd("K:", "\\opteron\sata\David")
    If @error Then
    MsgBox(1, "Fehler", "Folgender Fehler:" & @error)
    EndIf

    [/autoit]


    alternativ ginge auch diese Abfrage:

    [autoit]


    $Fehler = DriveMapAdd("K:", "\\opteron\sata\David")
    If Not $Fehler Then
    MsgBox(1, "Fehler", "Folgender Fehler:" & @error)
    EndIf

    [/autoit]
  • Danke Alina für deinen Post.
    Leider hast du meine Frage nicht richtig verstanden. Denn die bezog sich auf den Rückgabewert und nicht auf das "wie mappe ich" :)
    dennoch Danke.
    Oscar danke für deine Info, ich hab einfach die Hilfe falsch verstanden.