AutoIt Array fouten bij gebruik FTP

Vandaag heb ik samen met Luc Marc eindelijk een oplossing gevonden voor een vreemd probleem waar ik zelf niet meer uit kwam. Voor een synchronisatie tool maak ik gebruik van AutoIt, de tool doet kort samengevat het volgende:

  • Log in op FTP
  • Haal de filelist op en zet die in een array
  • Download files uit array
  • Verwijder files uit array
  • Importeer files in applicatie
  • Reset de array naar “0”

Deze stappen zitten in een oneindige loop, op deze manier worden files altijd gedownload, verwijderd en geimporteerd. Echter, bij iedere run bleef hij dezelfde files downloaden ondanks dat deze niet meer op de FTP stonden. Dit bleek door het feit te komen dat standaard erg aggresieve caching wordt toegepast, alleen stond dit dus niet in de documentatie… Net zoals de oplossing overigens. Hier onder staan de twee stukjes code, eerst de niet werkende, gevolgd door de wel werkende:

Stuk:
Local $aFile = _FTP_ListToArray($Conn, 2)

Werkend:
Local $aFile = _FTP_ListToArray($Conn, 2, $INTERNET_FLAG_RELOAD)

De variabele: $INTERNET_FLAG_RELOAD forceerd een reload van de filelist, het stomme is alleen dat in de documentatie staat aangegeven bij welke FTP functies deze optie meegegeven zou kunnen worden, en daar staat _FTP_ListToArray dus niet bij, maar blijkbaar werkt het wel.

Voor mij dus weer een probleem opgelost en hopelijk heeft iemand anders er ook nog wat aan zo :).