![]() |
#1 |
Участник
|
![]()
Проблема такова: я хочу вызвать метод класса, но название этого метода я узнаЮ только на этапе выполнения. Как мне добиться желаемого? Через dictClass, насколько я понял не получится, потому что мне нужно запустить метод именно с уже работающего, инстанцированного класса.
|
|
![]() |
#2 |
Участник
|
Тут я так понимаю, в зависимости от результатов одного блока логики надо вызвать другой блок. Так кто же мешает просто написать if или если вариантов много, то switch и в нем в зависимости от какого-либо параметра вызвать тот или иной метод?
|
|
![]() |
#3 |
Дмитрий Ерин
|
А откуда этот метод должен вызываться? Из экземпляра того же класса, то есть
this.хренЗнаетКакойМетод(); или извне? |
|
![]() |
#4 |
Участник
|
2 Ruff
Вообще в моем случае должен вызываться из экземпляра того же класса, т.е. через this. А какая разница? 2 Gad if\switch здесь не подходят - из-за бесконечного множества вариантов. |
|
![]() |
#5 |
Участник
|
Бесконечное множество методов?!!!
Вы уверены, что хорошо понимаете задачу, которую решаете? |
|
![]() |
#6 |
Участник
|
Может помочь функция RunBuf.
в DictClass.callObject явно передается объект так что PHP код:
|
|
![]() |
#7 |
Участник
|
2 mazzy думаю да
![]() Задача: написать метод getDynaHieght() для определения высоты сроки отчета. На входе будут подаваться названия reportStringControl, относительно которых нужно определять высоту, например ItemName и VendorName. Далее getDynaHieght() должен запустить dispay методы, соответстующие reportStringControls (названия методов и полей одинаковы), получить значения и выяснить влазят ли они в текущую высоту и, если нет, поправь высоту строки. Т.е. в getDynaHieght() мы получаем строковые название методов, которые надо выполнить. |
|
![]() |
#8 |
Участник
|
![]()
2 belugin
Спасибо, именно то, что я искал! |
|
![]() |
#9 |
Участник
|
вы пытаетесь использовать совсем не те инструменты для решения пустой задачи.
впрочем, как вам угодно см. также http://www.axforum.info/forums/showt...&threadid=7818 http://www.axforum.info/forums/showt...&threadid=8608 http://www.axforum.info/forums/showt...&threadid=3533 |
|
![]() |
#10 |
Участник
|
2 mazzy
Достаточно давно сталкиваюсь с этой проблемой - не могли бы вы подсказать как грамотно решить эту задачу? Я смотрел ссылки, которые вы дали выше - но решения не нашел - получается свойствами отчета можно создать динамику, но только без сетки. У меня отчет с сеткой. Что делать? |
|
![]() |
#11 |
Участник
|
Цитата:
Изначально опубликовано axaLearner
Что делать? Если сетка нужна только для облегчения восприятия, то воспользуйтесь отчетом tutorial_ColourLines |
|
![]() |
#12 |
Участник
|
Спасибо, попробую.
|
|
![]() |
#13 |
Участник
|
Я обычно пользуюсь для решения этой задачи кодом, подсмотренным тут :
\Reports\CustVendFacture_RU\Designs\Facture\Generated Design\Section Group: FactureJour_RU\Body:JourBody\Section Group: FactureTrans_RU\Body:TransBody\Methods\prepareDynamicSection
__________________
любитель портвейна и снов с прокисшей капустой в усах |
|
![]() |
#14 |
Дмитрий Ерин
|
Цитата:
Изначально опубликовано axaLearner
2 Ruff Вообще в моем случае должен вызываться из экземпляра того же класса, т.е. через this. А какая разница? ![]() Старею... ![]() |
|
Теги |
высота строк отчета, программно |
|
![]() |
||||
Тема | Ответов | |||
Вызов метода базового класса | 15 | |||
Вызов класса из другого класса | 9 | |||
Вызов метода класса из HTML | 2 | |||
добраться из ClassFactory "обратно" до класса | 18 |
|