Visual Basic - Ficheros ini con win 98

Life is soft - evento anual de software empresarial
 
Vista:

Ficheros ini con win 98

Publicado por nacho (3 intervenciones) el 22/06/2001 11:13:06
Hola, he hecho una aplicación en VB6.0, que tira de un fichero ini para la configuración inicial y para guardar algunos datos durante la ejecución. El caso es que la programé en VB6.0 SP 4, e iva de maravilla. Me creé el instalador, y al instalarla en el ordenador del cliente, que usa W98 no funcionaba bien y daba errores 5 en tiempo de ejecución ("Llamada a procedimiento o argumento no válido"). Estoy intentando recompilarla en una máquina con W98, pero da problemas una función que lee el fichero ini. ¿Alguna idea?

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ficheros ini con win 98

Publicado por Maro (83 intervenciones) el 27/06/2001 02:16:29
No pones la rutina que te da el error asi que es dificil decir el porqué.
Las funciones leeini funcionan perfectamente en windows 95 y 98
Como no pones si el ini esta en el directorio windows o no te pongo las funciones.

Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
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
'obtener el directorio windows
Sub dir_win()
Dim lpBuffer As String
Dim nSize As Integer
lpBuffer = Space$(250)
nSize = Len(lpBuffer)
X% = GetWindowsDirectory(lpBuffer, nSize)
If X% = 0 Then sax = MsgBox("No se puede encontrar el directorio Windows", 16, "Atención"): End
directorio_win = Left$(lpBuffer, X%)
End Sub
'leeini
Function leeini(lpApplicationName As String, lpKeyName As String, lpDefault As String, lpFileName As String) As String
Dim lpReturnedString As String
lpReturnedString = Space$(250)
nSize = Len(lpReturnedString)
lpFileName = directorio_win + "\" + lpFileName
X% = GetPrivateProfileString(lpApplicationName, lpKeyName, lpDefault, lpReturnedString, nSize, lpFileName)
If X% > 0 Then leeini = Left$(lpReturnedString, X%) Else leeini_letra = lpDefault
End Function


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

solucionado

Publicado por nacho (3 intervenciones) el 27/06/2001 09:18:46
Ya está resuelto, pero gracias de todas formas. Las funciones que utilizo son las mismas que tú me mandas, el problema venía por otro lado (había que enlazar el proyecto con una librería más, no recuerdo cual...).

Una vez más, gracias.

PD . Perdón por lo de "iva de maravílla..." tengo la cabeza en mil sitios...;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar