Je ne faisais que bricoler en appelant GetPrivateProfileString et GetPrivateProfileSection dans kernel32 de .NET et suis tombé sur quelque chose d'étrange que je ne comprends pas.GetPrivateProfileString Oddity
Commençons par ce encantation:
Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringW" (_
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString() As Char, _
ByVal nSize As Int32, _
ByVal lpFileName As String) As Int32
Si je passe une lpApplicationName (section), pas lpKeyName et pas lpDefault, je devrais obtenir toutes les clés de cette section, et en fait je fais: 50% du temps.
Si le fichier ini a lpApplicationName à partir de la première ligne, le tampon ne renvoie rien. Si lpApplicationName est affiché sur la deuxième ligne du fichier, il renvoie les valeurs attendues. Au début, je pensais que c'était une question d'utiliser la version W et Unicode dans le Declare, mais changer cela semble n'avoir aucun effet.
Qu'est-ce qui me manque?
Existe-t-il un moyen de dire à studio d'arrêter d'écrire BOMS pour des fichiers de test simples? – claco
Je n'étais pas au courant du fait que la nomenclature se glisse subrepticement. J'ai presque passé une heure à me demander ce qui se passait avant de trouver votre réponse. Génial! –