B&R DirReadEx mit Status 20701

gaiskasimir

Level-2
Beiträge
113
Reaktionspunkte
13
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Kann mir jemand sagen warum diese Funktion den Status 20701 "Angegebene Datenlänge ist zu klein"
zurückgibt ? Die Struktur für die Rückgabe habe ich schon ziemlich hoch gesetzt, und das zu durchsuchende Laufwerk hat nur
1 Datei
 
Hallo
hellsehen fällt mir heute so schwer, aber vermutlich braucht die Funktion einen Datenbereich wo sie hinschreiben darf und die Größe dieses Bereichs. Eventuell übergibst du hier einen falschen Wert ?

Ansonsten würde ich vorschlagen du sendest mal ein bisschen vom Code....

bg
bb
 
Wie groß ist den data_len?
[TABLE="class: parameter_tab"]
[TR]
[TD] IN
[/TD]
[TD]data_len[/TD]
[TD]UDINT[/TD]
[TD]Länge des zur Verfügung gestellten Datenbereiches (ein Vielfaches der Größe der Struktur fiDIR_READ_EX_DATA). [/TD]
[/TR]
[/TABLE]
 
0 !!!
Das war es wohl schon, ich dachte das wäre ein Rückgabewert für die Anzahl der Elemente
Was heißt denn in der Hilfe zur Funktion : "Es wird immer nur ein Eintrag ausgelesen" ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
normaler weise würdest du ein DirInfo machen und damit die Anzahl der Files und die Anzahl der Verzeichnisse bekommen.

In einer Schleife lässt du die Eintragsnummer von 0 aufwärts zählen bis zur Anzahl der Einträge und liest die Info zu jeweils einem Eintrag aus.

Eintrag 0, 1 sind normalerweise Verzeichnisse (".", "..")

Du kannst aber auch von vornherein einen Filter definieren ob du nur Files oder Verzeichnisse oder beides retourniert haben möchtest.

Warum man eine Datenlänge <> der Struktur angeben kann weiss ich nicht, macht jedoch keinen Sinn da sowieso immer nur Info zu dem Eintrag von 'Eintragsnummer' gelesen wird.

In dieser Info steht dann der Name, Größe usw... siehe die Hilfe FileIO dazu.

bg
bb
 
Zurück
Oben