
Вкратце: есть очень серьёзный проект, написаный для удалённого терминала. Осуществляются услуги по оплате услуг связи (каламбурчик

Буду очень благодарен за любую полезную информацию по этому вопросу!
Scuder писал(а):При выгрузке каждой формы я пишу Unload Form и Set Form = Nothing. Так вот, есть серьёзные подозрения на то, что винда (2000) все эти картинки кэширует (свопит) в надежде на то, что они ещё понадобятся программе, но т.к. формы всегда закрываются и открываются заново, картинки загружаются и кэшируются виндой снова! Короче, думается мне, что она все загружаемые картинки, блин, хранит в кэше!
Unload Form и Set Form = Nothing это конечно хорошо
но ты уверен что формы корректно выгружаются?
Попробуй проверить это через Logging и обратные ссылки
P.S. Прога крутится на терминале под W2K?
И вот спустя всего лишь сутки на тестовом терминале количество выделяемой памяти увеличилось с ~96 Mb до ~120 Mb. Это означает, что меньше, чем через месяц, программа просто вылетит
Scuder писал(а):Попробуй проверить это через Logging и обратные ссылки
А можно поподробнее и про первое, и про второе?P.S. Прога крутится на терминале под W2K?
Угу.
Global Collector As New Collector
Класс Collector (можно сделать приватным приватный):
Option Explicit
Event Collect(AddTo As Collection)
' Можно сделать свойством по умолчанию
Public Property Get Collected() As Collection
Dim Coll As Collection
Set Coll = New Collection
RaiseEvent Collect(Coll)
Set Collected = Coll
End Property
Класс ChildClass (публичный)
Option Explicit
Private WithEvents Coll As Collector
Private Sub Class_Initialize()
Set Coll = Collector
End Sub
Private Sub Coll_Collect(AddTo As Collection)
AddTo.Add Me
End Sub
Sub main()
Dim A(0 To 10) As ChildClass
Dim i As Integer
For i = 0 To 4
Set A(i) = New ChildClass
Debug.Print Collector.Collected.Count
Next
End Sub
Старый трюк для тестирования выгруженных форм и классов и не только....
P.S. таймеры на формах есть?
Scuder писал(а):Гм, может, конечно, я совсем тупой, но я не понимаю что делает этот код и зачем он нужен..
Scuder писал(а):Конечно. Как минимум по одному на каждой.. На главной - 3.
а ты останавливаешь таймер перед тем как выгрузить форму?
Scuder писал(а):а ты останавливаешь таймер перед тем как выгрузить форму?
Хочешь сказать, что он продолжает "тикать"?
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 2