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











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 писал(а):а ты останавливаешь таймер перед тем как выгрузить форму?
Хочешь сказать, что он продолжает "тикать"?
Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 9