evb3.0 关于吃内存的问题
我初学EVB,用EVB3。0写的读数据库的程序,很简单的操作,但是在程序运行时,他送占用内存不释放
在循环若干次后,内存被吃没了。就死机了。但我找不到错误在哪里,有些怀疑是不是我的EVB RUNTIME库有问题
我是在PPC 2003下运行,故从微软网上下了运行库。
麻烦各位 ,看看能不能帮帮小弟。
Option Explicit
Private Sub Command1_Click()
Dim DBFileSpec As String
Dim conndb As ADOCE.Connection
Dim rs As ADOCE.Recordset
Dim RecordCount As Integer
Dim arb1 As Integer
DBFileSpec = Form1.Text1.Text
List1.Clear
'create a connection to the database
Set conndb = CreateObject("ADOCE.Connection.3.1")
conndb.ConnectionString = "data source = " & DBFileSpec
conndb.Open
Set rs = CreateObject("ADOCE.Recordset.3.1")
rs.Open "MSysTables", conndb, adOpenKeyset, adLockOptimistic
RecordCount = rs.RecordCount
For arb1 = 0 To RecordCount - 1
List1.AddItem rs.Fields("TableName").Value
rs.MoveNext
Next
rs.Close
Set rs = Nothing
Set conndb = Nothing
End Sub
Private Sub Command2_Click()
Timer1.Enabled = True
End Sub
Private Sub Form_OKClick()
App.End
End Sub
Private Sub Timer1_Timer()
Command1_Click
End Sub
问题点数:20、回复次数:2Top
1 楼jun_01(无名小卒)回复于 2005-07-01 15:28:24 得分 0
RecordCount 有多大? 不会是0吧?(我记得这个属性有时取不到)。
如果是0,那循环次数就多的狠了,呵呵。Top
2 楼strong_chenfei(macula)回复于 2005-07-01 15:55:34 得分 0
不是这个原因,单独执行Command1_Click结果正确,但会吃掉一部分内存,而不释放.这样timer循环下去内存占用回不断的增加,直到系统内存out.程序关闭后内存才回释放.不知是什么原因,斑竹,帮帮忙!!!!!急....Top




