Noch nicht registriert? Registrier Dich jetzt!
Zum aktuellsten Beitrag
Probleme beim Anlegen von Dateien
  • verfasst: 20.12.2007, 19:46
     
    trapper
    registriert:
     April 2007
    Status:
    offline
    letzter Besuch:
    20.12.07
    Beitr�ge:
    2
    Hallo Wolfgang
    Ich versuche �ber
    AssignFile(log_file,log_file_name);
    FileMode:= 2; { file access read / write }
    {$i-}
    Rewrite(log_file,2);
    {$i+}
    eine Datei anzulegen, was nicht funktioniert.
    Als Fehlercode bekomme ich eine 12 zur�ck, kann damit allerdings auch nichts anfangen.

    Hast Du eine Ahnung woran das liegen kann?

    Servus

    Wolfgang
  • verfasst: 21.12.2007, 09:23
     
    wdsibyl
    registriert:
     Dezember 2006
    Status:
    offline
    letzter Besuch:
    11.02.09
    Beitr�ge:
    73
    Hallo!

    Ich vermute, dass Du in der Variable "InOutRes" den Wert 12 erh�lst. Dieser Fehler wird direkt von den API-Calls gef�llt. d.h. bei 12 = ERROR_INVALID_ACCESS.
    Anscheinend gibt es Probleme mit der Berechtigungen.

    Was mir nur aufgefallen ist:
    .) Ich selber verwende AssignFile nicht, sondern Assign.

    .) Meiner Meinung nach ist es besser, wenn Du die Stream-Klassen verwendest. Die sind weit aus flexibler und funktionieren auch unter OS/2 und Windows (beides getestet)

    .) Du versuchst anscheinend eine Log-Datei zu erstellen. Es gibt in der Unit uSysClass eine Klasse mit dem Namen tcLog. Die erzeugt eine Log-Datei. Die Klasse funktioniert sowohl unter OS/2 als auch unter Windows.

    .) Weiters ist es so, dass wenn Du ein Programm mit den SPCC(GUI)-Klassen erstellst, dass man ein Logging einschalten kann. d.h. wenn Du das Programm kompilierst und bei der EXE den Parameter -LOG angibst, dann wird in dem Verzeichnis in der sich die EXE befindet eine ".LOG" erzeugt und es werden diverse Informationen ausgegeben. In den Sourcen kann man mittels der Funktion "Application.LogWriteln("xyxx");" Informationen in die LOG-Datei schreiben.

    bye,
    Wolfgang
  • verfasst: 27.12.2007, 21:03
     
    wdsibyl
    registriert:
     Dezember 2006
    Status:
    offline
    letzter Besuch:
    11.02.09
    Beitr�ge:
    73
    Hallo!

    Durch Zufall bin ich auch �ber das Problem gesto�en.
    Das Problem liegt bei der Deklarierung von FileMode und zwar musst Du der Variable FileMode den Wert 32 (fmOpenRead Or fmShareDenyWrite) zu weisen.
    Es gibt auch in der uStream-Unit die Konstante "Stream_OpenRead".

    bye,
    Wolfgang