L'objet TextStream Scripting.FileSystemObject prend en charge Unicode de style Windows et «texte brut» modifié par la page de codes système, mais ne semble pas prendre en charge UTF8. Toutefois, il peut réellement diffuser des fichiers verrouillés pour des mises à jour.Existe-t-il un objet exposé à DCOM permettant de diffuser un fichier UTF8 verrouillé en écriture?
ADODB.Stream prend en charge UTF-8 (ou binaire brut), mais ne sera pas "LoadFromFile" un fichier qui a été verrouillé pour la mise à jour, en dépit du fichier pouvant être ouvert dans, disons, le bloc-notes. (Résultats dans l'erreur: le fichier ADODB.Stream n'a pas pu être ouvert avec un code d'erreur de 0x800a0bba) - Ceci malgré essayer d'ouvrir le flux en mode "Read" ou "Shared". Il semble que l'objet COM côté serveur exige plus de verrouillage que je ne le demande réellement.
Y a-t-il d'autres alternatives? J'appelle ceux-ci à distance via DCOM, mais même le test sur le système hôte lui-même entraîne le même comportement.
Idéalement, il y aurait un composant qui agirait comme un flux (c.-à-d. Mécanismes de recherche de support), pourrait streamer les octets bruts (binary) ou gérer du texte brut, Unicode et UTF-8. sont ouverts à l'écriture. Quelqu'un sait-il d'une telle bête?
Je vais y jeter un coup d'oeil, merci. Idéalement, j'utiliserais un objet ou un composant préexistant, mais si je dois lancer le mien, cela pourrait être très utile. –
Cela fait un moment que j'ai utilisé des pipes, mais IIRC l'exemple de code est tout à fait prêt à être utilisé tel quel, et en le modifiant pour répondre à vos besoins devrait être assez facile. La plomberie du tuyau est terminée, ce qui ne laisse que la manipulation des fichiers. – eran
Je n'ai pas fini d'utiliser des tuyaux, mais j'ai essayé d'auto-enrouler un objet stream et de l'exposer via DCom pour faire ce dont j'avais besoin. Je n'ai pas eu de chance de localiser une implémentation de flux accessible à distance «officielle» qui fonctionnait également avec des fichiers verrouillés en écriture ET unicode ou UTF-8. –