![]() |
AW: meminifiles, inifiles , einlesen scheitert
@himitsu
Zitat:
eine andere *.ini Datei, im anderen Ordner mit der selben Delphi Anwendung geschieben funktioniert perfekt |
AW: meminifiles, inifiles , einlesen scheitert
PS: problem gelöst, im der eigentlichen Anwendung wurde der "nur fast" richtige Filename übergeben,super peinlich :shock:
schade , daß ich keine exception bekomme wenn ich aus einer ini Datei lesen, die nicht existiert, dann wäre der Bug viel früher aufgefallen |
AW: meminifiles, inifiles , einlesen scheitert
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:
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.)
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 Zitat:
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. |
AW: meminifiles, inifiles , einlesen scheitert
Zitat:
Man vertippt sich doch sehr leicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 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