global hab ich die definiert, weil ich $pfad noch mehrfach brauche in den weiteren au3...
Und trotzdem definierst du unmittelbar nacheinander 2 verschiedene Werte ohne den ersten jemals genutzt zu haben ![]()
Zitatzu:$hardware1 = FileRead($pfad & 'hardware.txt')"
Gut, das kannst Du nicht wissen, was da zwischendrin passiert. Aber das ist schon so in Ordnung, da ich:
a: die Existenz der Datei abprüfe
b: dort definitiv ein Eintrag vorhanden ist, weil ich diese hardware.txt über ein externes Programm auf dem PNA erstellen lasse... und diese liesst die REG des Gerätes aus und trägt in jedem Fall dort was ein.... und wenn es ein "-" ist.
Entschuldige den Ausdruck aber da beginnt die Schlamperei zur Methode zu werden. Bei einem Skript diesen Umfangs ist jede noch so kleine Abfrage bei der Fehlersuche hilfreich. Das du die Existenz prüfst ist ja gut und schön aber du verlässt dich blind darauf, das dort auch etwas drinsteht.
ZitatKlar... sauberer wäre das mit IsArray() zu arbeiten... stimmt! Kann aber hier doch eigentlich nicht zu dem benannten Fehler führen...
Der Fehler wird aber durch einen fehlerhaften Zugriff auf ein Array ausgelöst. Den kompletten Code kannst du nicht zeigen also sag ich dir nochmal - @error auswerten wo es nur geht, Rückgabewerte prüfen, isArray() verwenden ...
Wir können das Skript ja leider nicht testen. Wenn du den Fehler durch intensives debugen nicht findest, musst du als Entwickler wohl in den sauren Apfel beissen und dir ein System mit den selben Bedingungen aufsetzen. Spätestens dann solltest du das Problem finden.