Alte Includes vs. neue Includes

  • Salü miteinander

    Ich habe hier ein 8000 Zeilen grosses Progrämmchen. Es läuft mit den Bibliotheken einer älteren AutoIT Version ohne Probleme.
    Nun, wenn ich da was ändern muss, dann muss ich immer in den Installations-Ordner gehen, dort den Include-Ordner umbenennen und ein Backup der alten Version in "Include" umbenennen.

    Frage: Gibt es einen Weg, mehrere Include-Versions-Ordner zu haben, um einem Script zu sagen, welchen er davon verwenden soll?

    Bitte um Feedback.

    Lieber Gruss

    Flo

    • Offizieller Beitrag

    Gibt es einen Weg, mehrere Include-Versions-Ordner zu haben, um einem Script zu sagen, welchen er davon verwenden soll?

    Standardmäßig ist mir das zumindest nicht bekannt. Aber benenne doch die "alten" Versionen um (z. B. Präfix "old_") und pack sie in deinen persönlichen Include-Ordner. Dann bindest du eben bei Bedarf nur die alten ein.

  • Code
    $aFileList=_FileListToArray(@scriptdir&"\Include")
    _ArrayDisplay($afilelist)
    for $i=1 To $aFileList[0]
    filecopy(@scriptdir&"\Include\"&$aFileList[$i],@scriptdir&"\Include\old_"&$aFileList[$i])
    filedelete(@scriptdir&"\Include\"&$aFileList[$i])
    Next

    na, lustig, genau sowas hab ich in der Zwischenzeit auch angedacht.
    Wird jetzt aber zu Problemen führen da diese includes ebenso includes beinhalten. Gut, muss ich mich halt bei Bedarf durcharbeiten, bis es dann wieder funktioniert.
    Ich schreib dann noch ob das vernünftig funktioniert.

  • Du kannst statt #include <...> auch #include "..." verwenden. Dann wird vornehmlich im Skriptordner nach den Include-Dateien gesucht, so kannst du also die gewünschte Version einfach dabeipacken.

  • oh... okay... auch ne Idee...

    bin gespannt..

    das andere oben hat nicht zufriedenstellend funktioniert. wohl wird das bei diesem Ansatz aber auf dasselbe rauslaufen da die includes selbst auch wieder auf includes zugreifen, und die ja dann die neuen sind.

  • kann man nicht folgendes machen?
    Oder der Pfad zum normalen Include nutzen und in Zeile 2 mit einer Pfadangabe.

    AutoIt
    #include "_includscript_1.au3"
    #include "include_old\_includescript2.au3"

    Lieben Gruß,
    Alina

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

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Falls #include-once in den doppelt eingebunden Includes verwendet wurde kann es evtl. sogar funktionieren (50:50), ansonsten kommt garantiert für jede Func eine Fehlermeldung (already definied o.ä.)

    • Offizieller Beitrag

    Generell halte ich es nicht für sinnvoll mit einer neuen AutoIt Version die Includes einer alten Version zu benutzen.
    Entweder passt man das alte Programm auf die neue Version an, oder man installiert einfach parallel mehrer Versionen.
    Dazu gibt es ein gutes Tool im En-Forum https://www.autoitscript.com/forum/topic/12…-path-switcher/
    Ich habe hier 8 verschiedene AutoIt Versionen installiert ohne damit Probleme zu haben.

  • @Raupi ??? Das ist jetzt nicht Dein ernst oder? Acht Versionen parallel? Ich habe für zwei Versionen eine virtuelle Umgebung, das könnte ich mir ja dann sparen. Wo packe ich das jetzt in meine To-Do Liste? Die ist so voll, majoman.

    Lieben Gruß,
    Alina

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

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr