Transmission des informations de fichier aux processus enfant

De RAD Studio
Aller à : navigation, rechercher

Remonter à Référence de la bibliothèque d'exécution C

Si votre programme utilise la fonction exec ou spawn pour créer un nouveau processus, celui-ci héritera normalement de tous les handles de fichier ouverts ayant été créés par le processus d'origine. Toutefois, certaines informations relatives à ces handles seront perdues, y compris le mode d'accès utilisé pour ouvrir le fichier. Par exemple, si votre programme ouvre un fichier pour ajout en mode binaire, le processus enfant peut endommager le fichier en écrivant à un emplacement différent de la fin de fichier ou en écrivant dedans en mode texte.

Pour que les processus enfant héritent de telles informations à propos des fichiers ouverts, vous devez lier votre programme au fichier objet FILEINFO.OBJ.

Par exemple :

BCC32 TEST.C \BCB\LIB\FILEINFO.OBJ

Les informations de fichier sont transmises dans la variable d'environnement _C_FILE_INFO. Cette variable contient des informations binaires codées. Votre programme ne doit pas essayer de lire ou de modifier sa valeur. Le programme enfant doit avoir été construit avec la bibliothèque d'exécution C++ afin d'hériter correctement de ces informations.

D'autres programmes peuvent ignorer _C_FILE_INFO. Ils n'hériteront pas des informations de fichier.

Voir aussi