Announcement

Collapse
No announcement yet.

Zugriffsverletzung beim schreiben und lesen von Dateien.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriffsverletzung beim schreiben und lesen von Dateien.

    Hallo!<BR>Windows XP gibt mir beim Schreiben, sowie beim Lesen einer Ini-Datei eine Zugriffsverletzung aus. Das Schreiben und lesen anderer Dateien funktioniert.<BR>Windows 2000 macht keine Probleme mit der Ini-Datei, jedoch eine Zugriffsverletzung beim Schreiben anderer Dateien (über writeprivatprofilestring).<BR>Wie ist das zu beheben? Wenn Windows-einstellungen geändert werden müssen, kann das auch von meinem Programm gemacht werden?

  • #2
    Gibst Du beim Öffnen der Datei eine Pfadangabe mit? Generell gibt es da keine Probleme. Zeige doch bitte mal etwas Source.<p>
    Schöne Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Ich habe es mit Pfadangabe und ohne probiert.
      Jedesmal bekomme ich eine Zugriffsverletzung im Modul ntdll.dll bei Win2000 und WinXP.
      Unter Win95/98 keine Probleme

      Comment


      • #4
        Dazu wurde schon öfters gepostet. Bitte einfach den Dateinamen als Suchbegriff eingeben

        Comment


        • #5
          Ja, leider beziehen diese Angaben sich nicht auf dieses spezielle Problem.<BR>
          Hier mal ein wenig Source:
          <PRE> if SaveDialog1.Execute then
          begin
          FFilename := SaveDialog1.FileName;
          MyIniFile:=TIniFile.Create(FFileName);
          for i := 1 to 49 do
          begin
          MyIniFile.WriteString('','E'+IntToStr(i),FloatToSt rF(Eichwert[1,i],fffixed,8,3));
          MyIniFile.WriteString('','E'+IntToStr(i+50),FloatT oStrF(Eichwert[2,i],fffixed,8,3));
          end;
          MyIniFile.WriteString('','CMBtkm',IntToStr(CMBtkm. ItemIndex));
          MyIniFile.WriteString('','LEtfm0',LEtfm0.Text);
          MyIniFile.WriteString('','LEtfm20',LEtfm20.Text);
          </PRE><BR><BR><PRE> if OpenDialog1.Execute then
          begin
          FFilename := OpenDialog1.FileName;
          MyIniFile := TIniFile.Create(FFileName);
          for i := 1 to 49 do
          begin
          Eichwert[1,i] := StrToFloat(MyIniFile.ReadString('','E'+IntToStr(i) ,'0,000'));
          Eichwert[2,i] := StrToFloat(MyIniFile.ReadString('','E'+IntToStr(i+ 50),'1,000'));
          end;
          CMBtkm.ItemIndex := StrToInt(MyIniFile.ReadString('','CMBtkm','0'));
          LEtfm0.Text := MyIniFile.ReadString('','LEtfm0','4');
          LEtfm20.Text := MyIniFile.ReadString('','LEtfm20','80');
          LEtkom.Text := MyIniFile.ReadString('','LEtkom','20');
          </PRE><BR><BR>
          Mitlerweile bin ich dazu übergegangen Ini-Datei und Datensicherung über TIniFile zu realisieren.
          Trotzdem habe ich dieses dämliche Problem mit der ntdll.dll ..

          Comment


          • #6
            Hallo Jens,

            probier mal die <a href="http://www.hinzen.de/delphi/index.html">BiggerIni</a>-Komponente von Edy Hinzen aus.

            Ist 100% Delphi und hat auch kein 64-kByte-Grenzen. Ist kompatible mit TIniFile. Einfach alle vorkommen von TIniFile durch TBigIniFile/TBiggerIniFile ersetzen

            Comment


            • #7
              Hey-Ho!!!<BR>
              Danke Bernhard, das Funktioniert jetzt.<BR>
              Keine Probleme mehr unter den verschiedenen Plattformen

              Comment


              • #8
                Ich hatte das Problem auch. Und zwar mit dem Schreiben über WriteString('Head', 'Titel', ComboBox.Items.CommaText).
                Der Fehler liegt scheinbar daran, dass keine leeren Strings - also aufeinander folgende Kommas geschrieben werden dürfen.<br>
                Kann das bei Dir der gleiche Grund sein

                Comment


                • #9
                  Hallo,

                  unter NT und Nachfolger(2000,XP) dürfen die Gruppen und Item-Strings nicht leeer sein. Ansonsten gibt es beim Lesen und schreiben Zugriffsfehler

                  Bern

                  Comment

                  Working...
                  X