hey, ich habe ein komisches problem mit dem FileExists befehl.
wenn ich mehrere autoit programme gleichzeitig laufen lasse, habe ich eine funktion eingebaut, sobald ein programm anfangen möchte zu arbeiten, geht es in eine whileschleife und wartet solange, bis eine .txt datei nichtmehr vorhanden ist. diese .txt datei wird von allen programmen in demselben ordner erstellt wenn es anfängt zu arbeiten und wieder gelöscht, wenn die arbeit fertig ist und es sich wieder im "leerlauf" befindet.
die funktion ist sehr simple aufgebaut
Func Arbeitet()
While 1
If Not FileExists($DirArbeitet) Then
FileWrite($DirArbeitet, "")
Return
EndIf
WEnd
EndFunc
Func Fertig()
FileDelete($DirArbeitet)
EndFunc
Alles anzeigen
ist an dieser funktion etwas falsch ?
ich habe folgendes problem:
wenn programm A anfängt zu "arbeiten", erstellt es eine datei in $DirArbeitet. (ich sehe die datei mit eigenen augen in dem ordner).
dann gebe ich programm B den befehl auch zu "arbeiten"... dieses sollte jetzt eigentlich in der whileschleife solange warten, bis die datei von progrmam A wieder gelöscht wurde. allerdings wird dies komplett ignoiert und programm B fängt einfach an zu arbeiten...
warum ist das so ?
*manchmal funktioniert es..
wie löst ihr dieses problem ? gibt es andere funktionen ?
mfg