AGB  ·  Datenschutz  ·  Impressum  







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

{$i-} - {$iochecks off}

Ein Thema von TM6 · begonnen am 31. Mär 2025 · letzter Beitrag vom 1. Apr 2025
 
TM6

Registriert seit: 14. Dez 2004
61 Beiträge
 
Delphi 12 Athens
 
#1

{$i-} - {$iochecks off}

  Alt 31. Mär 2025, 07:57
Delphi-Version: 5
Ich habe eine Verständnisfrage.
Ich bin immer davon ausgegangen, dass es bei der Verwendung von {$I-} keine Exception geben würde, da diese von Delphi abgefangen wird und ich den Fehlercode über IOResult erhalte.
Ich sichere MeinString <> '' vorher ab (Delphi-Hilfe von ForceDirectories) und es gibt in bestimmten Fällen trotzdem eine IO-Exception.

Code:
exception class           : EInOutError
exception message         : Verzeichnis kann nicht erstellt werden.
Delphi-Quellcode:
if MeinString = 'then exit;

{$I-}SysUtils.ForceDirectories( MeinString );{$I+}
error := IOResult;
if ( error = 0 )
then ...
else ...
Ist trotz {$I-} immer ein try .. except notwendig, und {$I-} ist nur eine Erleichterung, den Fehlercode auszuwerten?

Das ist aber in der Hilfe anders formuliert bzw. interpretiere ich das anders:

Zitat:
Anmerkungen

Mit der Direktive $I wird die automatische Code-Generierung aktiviert bzw. deaktiviert, die nach jedem Aufruf einer E/A-Prozedur das Ergebnis überprüft. Eine ausführliche Beschreibung der E/A-Prozeduren finden Sie in der Delphi-Sprachreferenz. Wenn eine E/A-Prozedur bei aktivierter Option ein Ergebnis ungleich 0 zurückgibt, führt dies zu einer EInOutError-Exception (bzw. zum Programmabbruch, wenn die Exception-Behandlung nicht aktiviert ist). Ist die Option deaktiviert, muss die E/A-Operation durch einen Aufruf von IOResult auf Fehler geprüft werden.
Das Problem tauchte bei mir auf, als ich auf einen Ordner in den eigenen Dateien zugreifen wollte
Code:
SysUtils.ForceDirectories( TPath.GetDocumentsPath + '\MeinUnterordner' )
und die Windows-API einen leeren String zurücklieferte.
Siehe dazu meine Frage in
https://www.delphipraxis.net/216958-...e-dateien.html
  Mit Zitat antworten Zitat
 


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 18:16 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