Public 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
为读取.ini文件的API,在VB中调用时,当出现这种情况时老是发生错误,应怎么处理?文件名: parameter.ini文件内容[parmset1]
parm1 = "parm"
parm2 = ""有如下语句GetPrivateProfileString "parmset1", "parm1", "defaultvalue1", m_parm1,10,App.Path + "parameter.ini" '此句能够正确执行GetPrivateProfileString "parmset1", "parm2", "defaultvalue2", m_parm1,10,App.Path + "parameter.ini" '此句运行时会出错,并导致程序关闭。我想可能是parm2为空的原因吧,但我在.ini文件中不可能对此作改变。不知有什么办法解决这个问题没有?
(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
为读取.ini文件的API,在VB中调用时,当出现这种情况时老是发生错误,应怎么处理?文件名: parameter.ini文件内容[parmset1]
parm1 = "parm"
parm2 = ""有如下语句GetPrivateProfileString "parmset1", "parm1", "defaultvalue1", m_parm1,10,App.Path + "parameter.ini" '此句能够正确执行GetPrivateProfileString "parmset1", "parm2", "defaultvalue2", m_parm1,10,App.Path + "parameter.ini" '此句运行时会出错,并导致程序关闭。我想可能是parm2为空的原因吧,但我在.ini文件中不可能对此作改变。不知有什么办法解决这个问题没有?
Dim m_parm1 As String,m_parm2 as String
Dim StrTemp As String,PathStr as String m_parm1 = Space(100)
m_parm2 = Space(100)
StrTemp = Space(100)
PathStr = App.Path + "\parameter.ini" GetPrivateProfileString "parmset1", "parm1", "-1", StrTemp, 100, PathStr
m_parm1 = Mid(Trim(StrTemp), 1, Len(Trim(StrTemp)) - 1)
StrTemp = Space(100)
GetPrivateProfileString "parmset1", "parm2", "-1", StrTemp, 100, PathStr
m_parm2 = Mid(Trim(StrTemp), 1, Len(Trim(StrTemp)) - 1) 繁是繁的,请教各位还有没更简单的方法没??
GetPrivateProfileString "parmset1", "parm2", "defaultvalue2", m_parm1,10,App.Path + "\parameter.ini
\parameter.ini是我把程序打到这上面来时,少打一而已
这个解决办法是使用GetPrivateProfileString的返回值来确定是否为0,如果参数不为空,则返回字符个数,为空则返回0。