Nous avons un ancien code Delphi (qui pourrait même provenir d'un code Turbo Pascal) qui utilise {$I-}
, alias {$
IOCHECKS
OFF}
ce qui fait que le code utilise IORésultat au lieu d'exceptions pour les erreurs d'E/S de disque.
Je veux me débarrasser de la {$I-}
et faire évoluer ce code vers les années 1990, mais pour cela, j'aimerais savoir ce qui est concerné par {$IOCHECKS OFF}
. Cela affecte-t-il uniquement les vieilles fonctions d'E/S intégrées comme AssignFile / Reset / Rewrite / Append / CloseFile ? Ou est-ce que cela affecte également des fonctions plus modernes comme TFileStream ? Plus important encore, quelles sont les autres fonctions qui pourraient être affectées et auxquelles je ne pense pas ? ( Les bases de Delphi suggère que cela affecte également MkDir et RmDir. Si cela affecte ceux-là, il doit y en avoir d'autres).
La rubrique d'aide de Delphi 2007 "Contrôle des entrées-sorties (Delphi)" ( ms-help://borland.bds5/devcommon/compdirsinput_outputchecking_xml.html
) dit que cela affecte les "procédures d'E/S", et que "les procédures d'E/S sont décrites dans le Guide du langage Delphi". Cela n'aide pas beaucoup, puisque CodeGear n'a jamais fourni de guide de langue, et que la dernière fois que Borland en a fourni un, c'était pour Delphi 5.
Quelles fonctions et classes se comportent différemment sous {$I-}
?
EDITAR: La réponse acceptée donne un bon aperçu du contexte, mais voici un résumé rapide sous forme de liste alphabétique : {$IOCHECKS OFF}
sólo affecte les routines suivantes de l'unité Système.
- Ajouter
- BlockRead
- BlockWrite
- ChDir
- CloseFile
- Eof
- Eoln
- Effacer
- FilePos
- Taille du fichier
- Chasse d'eau
- MkDir
- Lire
- Readln
- Renommer
- Réinitialiser
- Réécriture
- RmDir
- Cherchez
- Recherche de
- SeekEoln
- SetLineBreakStyle
- Tronquer
- Écrire à
- Écrivez à