J'utilise la fonction Lireini ci-dessous pour récupérer les valeurs de mon fichier ini.
Sur mon système, cela fonctionne très bien.
Je l'ai mis en place sur un autre Pc (Windows 2000 server). Au début c'était ok, mais après avoir installé des applis.
Mon programme ne fonctionne plus.
Lors du lancement j'obtiens le message :
run-time error 13 type mismatch
' Declarations pour lire et ecrire dans un fichier ini
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
' Fonction permettant de lire dans un fichier ini
' Pour l'executer ex :
' LireINI("MonEntete", "MaVariable")
Function LireINI(Entete As String, Variable As String) As String
Dim Retour As String
Dim Fichier
Dim fsotestfic As FileSystemObject
Fichier = App.Path & "\" & App.EXEName & ".ini"
Set fsotestfic = CreateObject("Scripting.FileSystemObject")
If fsotestfic.FileExists(Fichier) = False Then
LireINI = "erreur1"
GoTo sortie
End If
Retour = String(255, Chr(0))
LireINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), Fichier))
sortie:
End Function
@Lamap