Problem mit FileInstall()

  • Hallo ihr Scripter / Scripterinnen

    Ich habe etwas mit FileInstall() rumgespielt
    Nun, Alles Schön und Gut aber Dann kam Folgendes:
    Ich hatte vor mir UDF zu Machen, Die auch eine Variabel als Quelldatei akzeptiert!

    Das hier habe ich Bisjetzt

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ; Function Name : _FileInstallEx()
    ; Description :: Eweiterte Version von FileInstall()
    ; Parameter(s) : $sQuelle = Der Pfad , der Einzubindenen Datei
    ; $sName = Namen zum Zwischenspeichern (Ohne .***)

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

    ; Return Value(s): 1 = Erfolgreich
    ; 0 = Fehler, Siehe @error

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

    ; @error-Werte : -1 = Quelldatei nicht Angegeben!
    ; -2 = Kein Ziel angegeben
    ; -3 = Quelldatei existiert nicht!

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

    ; Autor(en) : DjDominik ([email='dominik@pohl-automation.de'][/email])
    ; Info : Als Quellpfad wird auch eine Variabel angenommen!
    ;===============================================================================
    Func _FileInstallEx($sQuelle = '', $sName = '')
    Local $iReturn = 0
    If $sQuelle = "" Then Return SetError(-1)
    If $sName = "" Then Return SetError(-2)
    If (Not FileExists($sQuelle)) Then Return SetError(-3)

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

    $iReturn = Execute('FileInstall("' & $sQuelle & '", ' & @TempDir & '\' & $sName & StringRight($sQuelle, 4) & ', 1)')
    Return $iReturn
    EndFunc ;==>_FileInstallEx

    [/autoit]

    Kann mir jemand sagen, Warum die "Includete" Datei nicht Startet?
    Danke schonmal im Vorraus! :)

    • Offizieller Beitrag

    OK, Danke pee
    Ist aber schon Komisch, Warum FileInstall keine Variabel im Quellpfad annimmt! ?(
    Vllt ist in Später Zukunft in AutoIt 4 des Möglich :D ^^

    Das wird wohl nie geschehen.

    • Offizieller Beitrag

    Ich habe es schon öfters erklärt ;).
    FileInstall wird im ersten Schritt (Kompilieren) vom Compiler ausgewertet. Im Gegensatz zum Interpreter hat der aber keine Unterstützung für AutoIt selbst. Das heißt, er kann keine Variablen auswerten, keine Funktionen aufrufen, keine Macros auswerten. Da Ausdrücke beliebig kompliziert werden können, müsste der Compiler den vollen Sprachumfang des Interpreters unterstützen. Und da hat man sich -- zu Recht! -- dagegen entschieden.

    Johannes

    • Offizieller Beitrag

    @DJDominik, vielleicht hilft dir das ja weiter: Fremddateien "includen" (ohne FileInstall)