|
|
|
Создание на лету переменной класса формы с типом взятым из значение другой переменной
|
|||
|---|---|---|---|
|
#18+
ЦЦаВсё украдено до нас В общем, в любом случае где-то должна быть явная строка New ИмяКласса. Все остальное - обвеска, и select case - самая простая. Вообще излишнее абстрагирование тоже не очень хорошо для простоты поддержки приложения - через год и сам не вспомнишь, куда нужно лезть, чтобы найти, где же было создано конкретное окно и используется ли оно вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 15:46 |
|
||
|
Создание на лету переменной класса формы с типом взятым из значение другой переменной
|
|||
|---|---|---|---|
|
#18+
MrShinВ общем, в любом случае где-то должна быть явная строка New ИмяКласса.Это (не-)счастливая (не-)случайность, что в VBA, в отличие от близкородственного VB5/6, нет "старших" видов instancing-а классов. Если б были, то можно было бы написать гипотетическое Set frm = CreateObject("VBAProject1.Form_Form1") и вуаля, но - всё имеет свою цену... А так - да, других документированных способов особо не дано. MrShinВсе остальное - обвеска, и select case - самая простая. Вообще излишнее абстрагирование тоже не очень хорошо для простоты поддержки приложения - через год и сам не вспомнишь, куда нужно лезть, чтобы найти, где же было создано конкретное окно и используется ли оно вообще.ЧудяЦЦа мне некие противоречия - вроде и верно, но рука первым же делом тянеЦЦа Select Case загнать в отдельную функцию/процедуру/свойство, а это по уровню абстракции по сути эквипенисуально классу-фабрике (а по технологии написания - та же копипаста). P.S. НравиЦЦа мне цитата из классического произведения: "способов реализации IDispatch не меньше, чем способов ободрать кошку" . Представьте, что при вызове метода через позднее связывание или тот же CallByName вы дёргаете за хвост (IDispatch::Invoke()) ободранную кошку. Берегите жЫвотных! Используйте раннее связывание! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2019, 20:31 |
|
||
|
Создание на лету переменной класса формы с типом взятым из значение другой переменной
|
|||
|---|---|---|---|
|
#18+
Всем большущая благодарность за обсуждение темы. Решил проверить вариант с CallByName(), благо ЦЦа вовремя подкинул ссылки на похожие обсуждения на этом форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2019, 15:20 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=39774765&tid=1610838]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 451ms |

| 0 / 0 |
