при каких обстоятельствах я должен использовать модуль и класс - PullRequest
0 голосов
/ 02 ноября 2011

когда я должен пойти для модуля и когда для класса?

когда модуль и класс загружаются в память?

Можно ли выгрузить модуль и уже загруженный класс?

Ответы [ 2 ]

4 голосов
/ 02 ноября 2011

Статический (BAS) модуль загружается и остается резидентным в течение всего цикла. Модуль класса (CLS) обеспечивает более динамическое распределение кода и данных.

Классы также предлагают лучшую инкапсуляцию, могут создавать несколько экземпляров, могут сохраняться и иметь много других преимуществ по сравнению со статическим распределением.

В руководстве есть целый раздел под названием "Программирование с объектами" , который вы можете прочитать и изучить. Все законные VB6 Editions выше Learning Edition должны иметь этот материал и больше на компакт-дисках MSDN, которые поставляются с ними. Книги на бумажном носителе также можно найти в некоторых новых и использованных источниках.

0 голосов
/ 02 ноября 2011

Для каждого модуля BAS все переменные уровня модуля выделяются при запуске приложения.Вы не можете освободить эти переменные (хотя вы можете установить для ссылки на объект значение Nothing, фактическая переменная все равно будет существовать).

Переменные уровня модуля модуля CLS выделяются только при создании экземпляра класса.Вся память, выделенная для экземпляра класса, освобождается, когда класс уничтожается.Вы можете создать столько экземпляров модуля CLS, сколько захотите, и у каждого есть собственный закрытый набор переменных уровня модуля.

В модулях BAS область применения переменных, объявленных как Public, является глобальной для приложения.Однако в модулях CLS вы можете получить доступ к переменной Public только в том случае, если у вас есть ссылка на экземпляр этого класса (за кулисами эта переменная становится Public Property).

Как правило, все переменные и процедуры, которыеВы хотите получить доступ из любого модуля должны быть помещены в модуль BAS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...