au3 aus exe starten ... open include problem

  • Hallo zusammen,

    ich habe eine script (kompiliert als exe), aus dem ich wiederum weitere scripte (im au3-format) starten möchte.
    wenn ich das hauptscript als au3 in scite ausführe, kann ich ohne probleme weitere au3-dateien starten. probiere ich dies jedoch aus der exe heraus, erhalte ich immer einen fehler, dass das 1. include nicht gefunden werden kann.

    der code, der die au3s ausführt, ist folgender:

    [autoit]

    Func _RunPlugin()
    $Button = _GUICtrlMenu_GetItemText(GUICtrlGetHandle($Menu8), @GUI_CtrlId, False)
    _SQLite_Close($DB_Handle)
    ;~ ShellExecute("AutoIt3.exe", @ScriptDir & "\Plugins\" & $Button & ".au3")
    RunWait('"' & @AutoItExe & '" /AutoIt3ExecuteScript "' & @ScriptDir & "\Plugins\" & $Button & ".au3" & '"')
    $DB = IniRead($ini, "DB", "AutoOpen", "")
    $DB_Handle = _SQLite_Open($DB)
    _OpenDB()
    EndFunc

    [/autoit]

    gibt es einen workaround, mit dem man das umgehen/ beheben kann?

    • Offizieller Beitrag

    Ganz einfach, packe die notwendigen Includes in dein Scriptverzeichnis, dann sollte der Fehler nicht mehr kommen.

  • Alternativ kann man auf das include auch verzichten wenn man die benutzten Funktionen und ggf. Konstanten aus der UDF in das jeweilige Script übernimmt. Nichts anderes macht das include ja.
    Bei umfangreicheren Scripten ist es aber wohl sinnvoller das komplette include Verzeichnis der Autoit Installation mitzuliefern.