dorido писал(а):тогда остаётся актуальной задача заставить класс скушать структуры ^-^
есть ли способ более простой, чем не заморачиваться на структуре и передавать всё по отдельности?
Вы еще "плаваете" в ООП, как я некогда. Смотрите:
Это структура в ФП:
- Код: Выделить всё
Dim S1 as MY_TYPE 'ваша паблик-структура из функционального модуля
Dim S2 as MY_TYPE
S1.Param1 = 1
S1.Opt1 = 100
S2 = S1 'ваша передача структуры
А вот это класс в ООП:
- Код: Выделить всё
Dim С1 as MY_CLASS 'класс из объектного модуля класса
Dim С2 as MY_CLASS
Set C1 = new MY_CLASS
C1.Param1 = 1
С1.Opt1 = 100
Set С2 = С1 ' передача класса
Есть разница? Есть. Но она минимальна. Строка с оператором Set для создания экземпляра класса и им же присвоение классов. Зато все сработает. Вот код класса, если интересно:
- Код: Выделить всё
public Param1 as integer
public Opt1 as Bute
например, или так (это уже в классбилдере погенерено)
- Код: Выделить всё
Private mvarParam1 As Integer 'local copy
Private mvarOpt1 As Byte 'local copy
Public Property Let Opt1(ByVal vData As Byte)
mvarOpt1 = vData
End Property
Public Property Get Opt1() As Byte
Opt1 = mvarOpt1
End Property
Public Property Let Param1(ByVal vData As Integer)
mvarParam1 = vData
End Property
Public Property Get Param1() As Integer
Param1 = mvarParam1
End Property
Отличия: в первом варианте паблик-переменные, во втором свойства (property) класса, через которые идет обращение к приват-переменным. удобство свойств в том, что одновременно с присвоением можно выполнить еще кучу действий (конвертаций там и т.п.)