Hallo an die Experten!
Ich muss in meinem Projekt Daten in einer Datei in einem bestimmten Ordner auf der Steuerung ablegen. Dazu verwende ich die Funktion "FILE.DirCreate" als Erstes, um den Ordner anzulegen - falls er noch nicht existiert.
Wenn der Ordner noch nicht existiert, wird er ordentlich angelegt.
Wenn der Ordner schon existiert, hatte ich den Fehler "FILE.ERROR.EXIST" erwartet, damit wäre die Sache OK. Ich bekomme statt dessen aber (fast(?) immer den Fehler "FILE.ERROR.ERROR_UNKNOWN". Den habe ich jetzt zwar zusätzlich abgefangen, das ist aber grober Pfusch!
Was mache ich falsch?? Wie kann ich die Existenz des Ordners anders feststellen?
Hier hängt der relevante Teil meines FBs an:
VAR
 ...
 dirCreate:  FILE.DirCreate;  // CAA Lib: Create a folder
 ...
END_VAR//---FBpart----------------
   dirCreate.sDirName :=sFolderName; // Name des Ordners
   dirCreate.xParent :=FALSE;
   dirCreate(xExecute :=TRUE);
   IF(dirCreate.xError)THEN
    IF((dirCreate.eError<>FILE.ERROR.EXIST)AND(dirCreate.eError<>FILE.ERROR.ERROR_UNKNOWN))THEN
     eErrID :=FILE_ERRORS.ErrAtCreate; // ==== Nur dann ist es ein Fehler!! ====
     xDone :=TRUE;
     xError :=TRUE;
      END_IF
      END_IF
   IFdirCreate.xDoneORxErrorTHEN
    dirCreate(xExecute :=FALSE);
   END_IFÂ
   IFxErrorTHEN
    RETURN;    //---- Brake when error
   END_IF
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Erik, falsches Forum ist richtig - die Frage gehört nach V3.
Wenn aber der Steuerungstyp und die Version bei aktuellen CAA-Bausteinen wichtig sind, wäre das ein Armutszeugnis für CODESYS - oder? CAA soll doch wohl überall fehlerfrei laufen.
Gruß, Rudolf.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo an die Experten!
Ich muss in meinem Projekt Daten in einer Datei in einem bestimmten Ordner auf der Steuerung ablegen. Dazu verwende ich die Funktion "FILE.DirCreate" als Erstes, um den Ordner anzulegen - falls er noch nicht existiert.
Wenn der Ordner noch nicht existiert, wird er ordentlich angelegt.
Wenn der Ordner schon existiert, hatte ich den Fehler "FILE.ERROR.EXIST" erwartet, damit wäre die Sache OK. Ich bekomme statt dessen aber (fast(?) immer den Fehler "FILE.ERROR.ERROR_UNKNOWN". Den habe ich jetzt zwar zusätzlich abgefangen, das ist aber grober Pfusch!
Was mache ich falsch?? Wie kann ich die Existenz des Ordners anders feststellen?
Hier hängt der relevante Teil meines FBs an:
Mahlzeit
Gruß Erik
Hallo Erik, falsches Forum ist richtig - die Frage gehört nach V3.
Wenn aber der Steuerungstyp und die Version bei aktuellen CAA-Bausteinen wichtig sind, wäre das ein Armutszeugnis für CODESYS - oder? CAA soll doch wohl überall fehlerfrei laufen.
Gruß, Rudolf.