Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подчиненные классы VBA и вычисление свойств / 2 сообщений из 2, страница 1 из 1
13.01.2010, 16:28
    #36407971
TERn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подчиненные классы VBA и вычисление свойств
Есть 2 класса, подпрограмма pp и группа group ,
в каждом из них хочу видеть несколько одинаковых свойств, решил объединить их в еще один класс data
получилась такая структура:

Код: plaintext
1.
2.
3.
4.
'pp class module
Public kod As Integer
Public groups As Collection
Public d As data

Код: plaintext
1.
2.
3.
'group class module
Public kod As Integer
Public d As data

Код: plaintext
1.
2.
3.
'data class module
Public count As Integer
Public cost As Currency

Данные (значения cost и count) будут попадать в объекты класса group , и я хочу чтобы при обращении к свойству d объекта класса pp у меня производилось суммирование всех стоимостей и количества подчиненных групп.

пробовал так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
'pp class module


Public kod As Integer
Public groups As Collection
Property Get d() As data
Dim temp As group
    For Each temp In Me.groups
        d.cost = d.cost + temp.d.cost
        d.count = d.count + temp.d.count
    Next temp
End Property

Private Sub Class_Initialize()
    Set Me.groups = New Collection
    Set Me.d = New data
End Sub

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
'group class module

Public kod As Integer
Public d As data

Private Sub Class_Initialize()
    Set d = New data
End Sub

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
'data class module

Public count As Integer
Public cost As Currency

Private Sub Class_Initialize()
    Me.count =  0 
    Me.cost =  0 
End Sub

и при создании объекта класса pp вылетает ошибка
Object variable not set (Error 91) на этапе вычисления свойства d

как реализовать задуманное?
...
Рейтинг: 0 / 0
13.01.2010, 16:59
    #36408064
TERn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подчиненные классы VBA и вычисление свойств
попробовал переделать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
'pp class module

Public kod As Integer
Public groups As Collection

Public Function d() As data
Dim temp As group
    Set d = New data
    For Each temp In Me.groups
        d.cost = d.cost + temp.d.cost
        d.count = d.count + temp.d.count
    Next temp
End Function

Private Sub Class_Initialize()
    Set Me.groups = New Collection
End Sub

работает, но мне интересно, что там будет с памятью, когда будет много вызовов этой функции?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подчиненные классы VBA и вычисление свойств / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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