_FilePrint Fehler 10

  • Hallo

    bei folgendem Code

    Spoiler anzeigen
    [autoit]

    Func GenerateKeyFile($nKeys, $Password, $Filename); Der zufälige 8-stellige Zahlenstring wird in Datei geschrieben (unverschlüsselt)
    Local $Data = "", $i, $File
    For $i = 1 To $nKeys
    $Data &= RandomKey() & @CRLF & @CRLF & @CRLF
    Next
    ;~ $Data = _StringEncrypt(1, $Data, $Password)
    $File = FileOpen($Filename, 2)
    FileWrite($File, $Data)
    Local $print = _FilePrint($File)
    If $print Then
    MsgBox(0, "Bonusausdruck", "Bonusliste wurde erstellt und ausgedruckt.")
    Else
    MsgBox(0, "Bonusausdruck", "Fehler: " & @error & @CRLF & "Bonusliste wurde nicht ausgedruckt.")
    EndIf
    FileClose($File)
    EndFunc ;==>GenerateKeyFile

    [/autoit]


    bekomme ich laufend den Fehler 10

    Läuft auf Windows XP. Drucker an LPT1 (HP Laserjet) als Standard.

    Die Datei wird auf das Filesystem geschrieben, aber eben nicht ausgedruckt. Es ist eine ordinäre TXT Datein.

    Gruß Hassan

    Einmal editiert, zuletzt von HassanMullah (19. Oktober 2012 um 13:04) aus folgendem Grund: Das ging nur unter Windows XP auf echtem Blech. Obwohl die virtuelle XP Maschine mit dem gleichen Druckertreiber am gleichen Netzwerkdrucker verbunden war, geht es virtuell nicht.

  • _FilePrint erwartet einen Dateinamen und keinen Datei -Handle.

    So gehts:

    Spoiler anzeigen
    [autoit]

    Func GenerateKeyFile($nKeys, $Password, $Filename); Der zufälige 8-stellige Zahlenstring wird in Datei geschrieben (unverschlüsselt)
    Local $Data = "", $i, $File
    For $i = 1 To $nKeys
    $Data &= Random(1,100) & @CRLF & @CRLF & @CRLF
    Next
    ;~ $Data = _StringEncrypt(1, $Data, $Password)
    $File = FileOpen($Filename, 2)
    FileWrite($File, $Data)
    FileClose($File)

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

    $print = _FilePrint($Filename)
    If $print Then
    MsgBox(0, "Bonusausdruck", "Bonusliste wurde erstellt und ausgedruckt.")
    Else
    MsgBox(0, "Bonusausdruck", "Fehler: " & @error & @CRLF & "Bonusliste wurde nicht ausgedruckt.")
    EndIf

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

    EndFunc ;==>GenerateKeyFile

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hallo Chip,

    Danke für die Antwort, aber das fluppt einfach nicht. Habe den Code mal umgestrickt, aber es bleibt bei Fehler 10

    Spoiler anzeigen
    [autoit]

    Func GenerateKeyFile($nKeys, $Password, $Filename); Der zufälige 8-stellige Zahlenstring wird in Datei geschrieben (unverschlüsselt)
    Local $Data = "", $i, $File, $print
    For $i = 1 To $nKeys
    $Data &= "--------" & @CRLF & RandomKey() & @CRLF
    Next
    $File = FileOpen($Filename, 2)
    FileWrite($File, $Data)
    FileClose($File)
    Sleep(2000)
    $print = _FilePrint("C:\Dokumente und Einstellungen\Username\Anwendungsdaten\Anwendungsname\Bonus.txt")
    If $print Then
    MsgBox(0, "Bonusausdruck", "Bonusliste wurde erstellt und ausgedruckt.")
    Else
    MsgBox(0, "Bonusausdruck", "Fehler: " & @error & @CRLF & "Bonusliste wurde nicht ausgedruckt.")
    EndIf
    EndFunc ;==>GenerateKeyFile

    [/autoit]


    Bin jetzt mit meinem Latein etwas am Ende.

    Ich gehe davon aus, das hier immer der Standartdrucker angesprochen ist, egal was sich hinter dem Standartdrucker verbirgt (also USB / LPT1 / Netzwerk usw.)

  • Dann hast deine Fehler. Autoit ist nicht offiziell Win 8 kompatiebel und in einer VMWare hast auch andere Gegebenheiten.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.