[CDR 2017-2021] Передача объекта управления в процедуру

iKoolk

Участник
Топикстартер
Сообщения
146
Реакции
8
Господа, бодрый вечер.

Скрипт не мой, уверен, что некоторые из вас с ним сталкивались, ибо он довольно старый. Применяется, не скажу, что оригинальная, но все же не самая стандартная процедура обработки смены optionbutton. я обычно пишу не так и если что - перепишу, но во-первых, мне это решение понравилось, а во- вторых, хочется разобраться. Итак:
1700655642761.png


ошибка возникает при клике на смену единиц измерения в форме:
1700655892446.png


по-моему, frm.opPx вполне себе объект, хотя в режиме отладки он показывает, булевое значение.
frm.opPx.object тоже не работает

Объясните, если не сложно.

Спасибо
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
А чего в круглых скобках?
PS: Это не скрипт, а макрос
 

DukereD

макрософил
Сообщения
463
Реакции
114
Господа, бодрый вечер.

Скрипт не мой, уверен, что некоторые из вас с ним сталкивались, ибо он довольно старый. Применяется, не скажу, что оригинальная, но все же не самая стандартная процедура обработки смены optionbutton. я обычно пишу не так и если что - перепишу, но во-первых, мне это решение понравилось, а во- вторых, хочется разобраться. Итак:
Посмотреть вложение 162270

ошибка возникает при клике на смену единиц измерения в форме:
Посмотреть вложение 162272

по-моему, frm.opPx вполне себе объект, хотя в режиме отладки он показывает, булевое значение.
frm.opPx.object тоже не работает

Объясните, если не сложно.

Спасибо
очень может быть, что на форме присутствует какой-то объект которого нет в библиотеках старый не поддерживается или вообще какой-то сторонний.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
очень может быть, что на форме присутствует какой-то объект которого нет в библиотеках старый не поддерживается или вообще какой-то сторонний.
Ну там же явная синтаксическая ошибка, скобки лишние
 

iKoolk

Участник
Топикстартер
Сообщения
146
Реакции
8
вот здесь:
Private Sub opCm_Change(): Unit = cdrCentimeter: optUnitChange opCm: End Sub
видно как это было написано изначально
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
ладно процедуре. то, как мы сейчас называем МАКРОС и ПРОЦЕДУРУ не влияет на ее выполнение
Влияет, поскольку в функцию параметы в скобках передаются а в процедуру нет.
Пишите изначально код правильно и отвечающие будут сразу решать реальную проблему, а не наведенную.
 

iKoolk

Участник
Топикстартер
Сообщения
146
Реакции
8
очень может быть, что на форме присутствует какой-то объект которого нет в библиотеках старый не поддерживается или вообще какой-то сторонний.
спасибо за идею. заменил Private Sub optUnitChange(u As Control) на Private Sub optUnitChange(u As OptionButton)
и заработало!
 

DukereD

макрософил
Сообщения
463
Реакции
114