VB.NET2010 GetPrivateProfileString 函数运行报警求助
vb.net吧
全部回复
仅看楼主
level 3
z4131126 楼主
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Public A As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WritePrivateProfileString("参数一", "X轴速度", "123", Environment.CurrentDirectory & ".参数.TXT") End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click GetPrivateProfileString("参数一", "X轴速度", "TextBox1", A, 255, Environment.CurrentDirectory & ".参数.TXT") TextBox1.Text = A End Sub
上面这段程序总是报“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”是怎么回事啊,写没有问题就只有读的时候老报错,求大家给我瞧瞧。
2013年06月15日 01点06分 1
level 3
z4131126 楼主
这是截图。
2013年06月15日 01点06分 2
level 13
字符串必须有较长的初值,用space()填充。或者用vbfixedstring
2013年06月16日 02点06分 3
level 3
z4131126 楼主
问题解决了 问题出在Visual Basic 6.0 的 Long 数据类型为 Visual Basic .NET 的 Integer 数据类型,而我后面用了Long改为Integer就正常了。
2013年06月16日 07点06分 4
level 3
z4131126 楼主
然后还有3楼说的问题解决了 我这段程序就正常了。
2013年06月16日 07点06分 5
难道你没发现 读出来的字符串有个终止符,后面再连字符串的时候不显示么
2013年06月17日 00点06分
1