Func + #include + func = Problemchen

  • Hallo,
    ich habe ein kleines AutoIT-Problem und hoffe Ihr könnt mir helfen.
    Gegeben ist ein Skript welches eine „Func“ enthält.
    Diese Func greif mit der „#include“-Funktion auf ein zweites Skript zu.
    Das zweite Skript enthält aber auch eine „Func“ und ich bekomme
    folgende Fehlermeldung: skript2.au3 -->"Func" statement has no matching "EndFunc"

    Oder ist diese Kombination generell nicht möglich.

    Vereinfachtes Beispiel:
    Skript1: (skript1.au3)
    test()
    func test()
    #include "skript2.au3"
    EndFunc

    Skript2: (skript2.au3)
    test2()
    func test2()
    msgbox(0,"Ergebnis","Test2")
    EndFunc

    Grüße NoMaxx

    Einmal editiert, zuletzt von NoMaxx (14. November 2013 um 16:02)

  • Du Versucht eine Funktion in eine andere Funktion zu packen, was nicht geht.

    Das ganze sieht im grunde zur Laufzeit so bei dir aus:

    [autoit]

    test()
    Func test()
    test2()
    Func test2()
    MsgBox(0, "Ergebnis", "Test2")
    EndFunc ;==>test1
    EndFunc ;==>test

    [/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.

  • du müsstest dein #include ganz oben als erstes (zu den anderen includes wenn vorhanden) hin schreiben
    #include <dein-include.au3> wenn du es im AutoIt Include Ordner drin hast
    #include "dein-include.au3> wenn es bei deinem Script liegt (@ScriptDir)

    Gruß
    Fabi

  • Statt die Funktion über das Include aufzurufen, kannst du doch direkt eine neue Funktion zu dem Zeitpunkt aufrufen, die eigentlich test() erfüllt !

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal