@Popov
Hier würden sich Exceptions besser machen, denn nun gibt es auch einen Hinweis, warum der nicht erstellt werden konnte
Besser schon, ich weiß nur nicht ob TE RaiseLastOSError verstehen würde. Evtl. hätte man
raise Exception.Create('Fehler. Es konnte kein Ini Ordner angelegt werden.');
nehmen können. In dem Fall könnte man auch ein String als Ergebnis liefern und dennoch eine eigene Fehlermeldung verfassen.
Du hast Recht, dass die Fehlermeldung ruhig eindeutiger/informativer sein sollte. Hier also mit der
OS-Meldung und dem Verzeichnis:
Delphi-Quellcode:
if not ForceDirectories( Dir ) then
RaiseLastOSError( GetLastError, Format(' "%s"', [Dir] ) );
Zitat:
EOSError: Systemfehler. Code: 3.
Das System kann den angegebenen Pfad nicht finden "X:\Test\Peter"
Zitat:
EOSError: Systemfehler. Code: 161.
Der angegebene Pfadname ist ungültig "\\192.168.0.1\Data\Test\Peter"
Und das mit dem Verstehen ist ja auch nicht so schwer, wenn er einen Blick auf
RaiseLastOSError wirft
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)