AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

meminifiles, inifiles , einlesen scheitert

Ein Thema von bernhard_LA · begonnen am 21. Okt 2021 · letzter Beitrag vom 22. Okt 2021
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.598 Beiträge
 
Delphi 7 Professional
 
#1

AW: meminifiles, inifiles , einlesen scheitert

  Alt 22. Okt 2021, 17:27
Delphi-Quellcode:
procedure TForm2.ReadPointlist3Dfile(filename: string);
var
  AptList: TPointList3DAlign;
begin
  if not FileExists(filename) then begin
    MessageDlg(Format('Datei %s wurde nicht gefunden.',[ExtractFileName(Filename)]),mtError,[mbOk],0);
    exit;
  end;
  AptList := TPointList3DAlign.Create;
  try
    AptList.LoadfromFile(filename);
    CopyPointList2Memo(AptList, 'debug 3D', Memo3);
  finally
    AptList.Free; // oder muss AptList nicht freigegben werden???
  end;
end;
Delphi-Quellcode:
procedure TForm2.ReadInifile(filename: string);
var
  aini: TInifile;
  Sections: TStringlist;
begin
  if not FileExists(filename) then begin
    MessageDlg(Format('Datei %s wurde nicht gefunden.',[ExtractFileName(Filename)]),mtError,[mbOk],0);
    exit;
  end;
  aini := TInifile.Create(filename);
  try
    Sections := TStringlist.Create;
    try
      aini.ReadSections(Sections);
      Memo2.Lines.AddStrings(Sections);
    finally
      Sections.Free; // Damit die Freigabe auch bei Fehlern erfolgt.
    end;
  finally
    aini.Free; // Damit die Freigabe auch bei Fehlern erfolgt.
  end;
end;
Wenn in der ursprünglichen Routine einmal ein Fehler auftritt, bleibt (schlimmstenfalls) der Zugriff auf die Datei "Filename" bestehen und wenn Du Pech hast, ist die Datei (dauerhaft) blockiert. (Kommt halt auf die jeweils verwendeten Zugriffsrechte auf Dateiebene an.)

Wenn
Zitat:
eine andere *.ini Datei, im anderen Ordner mit der selben Delphi Anwendung geschieben funktioniert perfekt
, heißt das nicht, dass man auf jegliche Fehlerbehandlung und die gesicherte Freigabe von Objekten, ... verzichten kann.

Fehlerbehandlung und Ressourcenschutzblöcke sind halt nicht für den funktionierenden Normalfall, sondern für die Ausnahmen-/Fehlerbehandlung erforderlich, damit eben auch dann "normal" weitergearbeitet werden kann und nicht "irgendwie, irgendwo, irgendwann" nicht nachvollziehbare "Spätfolgen" auftreten.
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: meminifiles, inifiles , einlesen scheitert

  Alt 22. Okt 2021, 17:35
Zitat:
PS: problem gelöst, im der eigentlichen Anwendung wurde der "nur fast" richtige Filename übergeben,super peinlich
Fehler wäre nie aufgetreten wenn die Dateinamen bekannt und immer gleich sind diese als Konstante definiert gewesen wären.
Man vertippt sich doch sehr leicht.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz