Programmierung

Ermitteln des nativen Fehlercodes bei externen Dateioperationen

Bei CONZEPT 16-Funktionen die externe Dateioperationen durchführen, wie zum Beispiel die Fsi-Befehle, XmlLoad(), PrtJobClose() etc., lässt sich über den Rückgabewert der Funktion der Erfolg der Operation überprüfen.

Die geläufigsten Fehlercodes des Betriebssystems werden in CONZEPT 16 auf interne Fehlercodes gemappt. Der Fehler "Datei nicht vorhanden", unter Windows der Fehlercode 2, enstpricht dem CONZEPT 16-Code -20 bzw. der Konstanten _ErrFsiNoFile.

Da nicht für jeden System-Fehler eine Fehlerkonstante in CONZEPT 16 definiert ist, gibt es die Möglichkeit den nativen Fehlercode des Systems zu ermitteln. Über die Eigenschaft spFsiError des System-Objekts kann der Fehler der letzten Dateioperation abgefragt werden. Dies gilt auch für Linux, wenn die Prozedur auf dem Server ausgeführt wird. In Verbindung mit der Funktion ErrMaptext(), die aus dem Fehler-Code den dazugehörigen Text erzeugt, lässt sich damit eine klare Fehlermeldung für den Anwender ausgeben. Die Funktion zum Ermitteln der Fehlermeldung steht ausschließlich für Windows zur Verfügung.
Beispiel:

tFile # FsiOpen(
        _Sys->spPathMyDocuments + '\MyDoc.txt',_FsiStdRead);

if (tFile < 0)
{
  tErrMsg # ErrMaptext(_Sys->spFsiError,'DE',_ErrMapSys);
  ...
  ...
}
else tFile->FsiClose();
Keine Kommentare

Kommentar abgeben