Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Memory Usage постоянно растет / 7 сообщений из 7, страница 1 из 1
17.03.2004, 12:43
    #32445211
MikeTech
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Memory Usage постоянно растет
У программки под VB6 при работе постоянно растет MemUsage под W200sp4.
Причем если свернуть программу, то кол-во используемой памяти резко
сократиться до 3.5 Мб и потом начнет расти.
Пока спасает постоянное сворачивание окна, а так и по 200 Мб сжирает.

Все переменные и recordset'ы постоянно очищаются. Программа читает из файла данные и переносит в mysql, использую libmysql.dll
В чем проблема?
...
Рейтинг: 0 / 0
17.03.2004, 15:05
    #32445569
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Memory Usage постоянно растет
Причем если свернуть программу, то кол-во используемой памяти резко
сократиться

Ты не на это смотри, а на память ДО запуска формы и ПОСЛЕ ее закрытия - в идеале значения д.б. равны. Особо обрати внимание на классы

и

Все переменные и recordset'ы постоянно очищаются.

тебе может только казать, что ты их "очистил"

ну и VB6 наверное пропатчен?
...
Рейтинг: 0 / 0
17.03.2004, 18:55
    #32446119
MikeTech
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Memory Usage постоянно растет
Если не обращать внимание на пользуемую память, через 3 часа возникает ошибка Mysql Client Out Of Memory. И все!
Класс в программе всего один и связан с libmysql.dll
Переменные очишаются принудительно.
...
Рейтинг: 0 / 0
18.03.2004, 03:48
    #32446367
Msmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Memory Usage постоянно растет
А коннекты закрываешь? Set dbs = hothing
...
Рейтинг: 0 / 0
18.03.2004, 08:49
    #32446459
MikeTech
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Memory Usage постоянно растет
Конекчусь с самого начала и потом работаю. После закрываю.
Странно именно, что если сверныть окно, то все хорошо.
Возможно сама форма все что изменяется на ней в память кладет.... ?
Попробую form1.enabled=false

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
'конектимся к базе
 Set mysql = New cMysql                     'initialize everything
 mysql.connect txtHost, txtUser, txtPass
 If mysql.err_no <>  0  Then
  ConnectToBase = False
  Exit Function
 End If
 If txtDB.Text =  "" Then Exit Function
Set a = mysql.query(" use " & txtDB.Text)
....................
select,insert,update
Set a = Nothing
.................
'закрываем конект и form1
Set mysql = Nothing
...
Рейтинг: 0 / 0
18.03.2004, 09:20
    #32446492
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Memory Usage постоянно растет
'закрываем конект и form1
Set mysql = Nothing

Ну и что за объект mysql? Если бы это был ADODB.Connection, то надо mysql.Close делать - и м.б. в твоей библиотеки есть нечто подобное.

Но думаю вся проблема в libmysql.dll , так как ошибка прямо тебе на это указывает "Mysql Client Out Of Memory" - так что не надо на VB пенять - поищи на сайте производителя обновления.
...
Рейтинг: 0 / 0
22.03.2004, 10:46
    #32450937
MikeTech
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Memory Usage постоянно растет
Проблема решилась
Код: plaintext
set rs=nothing 
в классе mysql.query
и
Код: plaintext
mysql.free_result
после каждого запроса к mysql.

Стало работать медленее, но память не жрет.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Memory Usage постоянно растет / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]