none
Gestion du séparateur décimal lors d'échanges avec des DLLs non managées RRS feed

  • Question

  • Bonjour à tous

    j'ai une petite appli en ASP.NET 2.0 (C#) qui fait de la cartographie.
    Pour ce faire, j'utilise une librairie opensource nommée FDO gérée par la fondation OSGeo (fdo.osgeo.org)
    Les DLLs managées auxquelles je fais référence dans mon application utilisent ensuite des DLLs non managées écrites en C++

    Lorsque je souhaite écrire une valeur décimale, je fournis mon double à la librairie FDO et lui demande d'écrire.
    Les DLLs managées se chargent donc de transférer la demande aux DLLs non managées, qui se chargent à leur tour d'écrire dans le fichier (format spécial).

    Jusqu'ici tout va bien Smile

    Le soucis est le suivant :
    mon serveur étant en français, les DLLs non managées écrivent une virgule, alors que le format officiel d'échange de ce type de fichier est un point (culture neutre).

    J'ai essayé de changer la culture du Thread courant, rien n'y fait, le séparateur décimal qui est écrit dans le fichier est celui des paramètres régionaux de mon serveur, et le fichier généré n'est donc pas considéré comme étant valide.

    Est-il possible de contrôler la culture utilisée par les DLLs non managées que j'exécute ?
    Au prie, est-il possible de changer à la volée la culture de l'ensemble de mon serveur (et non uniquement le thread courant) pendant la durée de l'écriture ? (je préfèrerais éviter cette solution, mais bon, au pire...)


    Merci



    jeudi 8 novembre 2007 09:20

Réponses

  • Bonjour,

    Il faudrait contacter le fabriquant de votre DLL afin qu'il puisse vous expliquer comment changer la culture de l'application courante au niveau de la DLL.

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    samedi 12 septembre 2009 16:39
    Modérateur