15.08.2005, 16:27 | #1 |
Участник
|
"Программный" вызов метода класса!?
Проблема такова: я хочу вызвать метод класса, но название этого метода я узнаЮ только на этапе выполнения. Как мне добиться желаемого? Через dictClass, насколько я понял не получится, потому что мне нужно запустить метод именно с уже работающего, инстанцированного класса.
|
|
15.08.2005, 16:38 | #2 |
Участник
|
Тут я так понимаю, в зависимости от результатов одного блока логики надо вызвать другой блок. Так кто же мешает просто написать if или если вариантов много, то switch и в нем в зависимости от какого-либо параметра вызвать тот или иной метод?
|
|
15.08.2005, 16:55 | #3 |
Дмитрий Ерин
|
А откуда этот метод должен вызываться? Из экземпляра того же класса, то есть
this.хренЗнаетКакойМетод(); или извне? |
|
15.08.2005, 17:03 | #4 |
Участник
|
2 Ruff
Вообще в моем случае должен вызываться из экземпляра того же класса, т.е. через this. А какая разница? 2 Gad if\switch здесь не подходят - из-за бесконечного множества вариантов. |
|
15.08.2005, 17:05 | #5 |
Участник
|
Бесконечное множество методов?!!!
Вы уверены, что хорошо понимаете задачу, которую решаете? |
|
15.08.2005, 17:08 | #6 |
Участник
|
Может помочь функция RunBuf.
в DictClass.callObject явно передается объект так что PHP код:
|
|
15.08.2005, 17:19 | #7 |
Участник
|
2 mazzy думаю да
Задача: написать метод getDynaHieght() для определения высоты сроки отчета. На входе будут подаваться названия reportStringControl, относительно которых нужно определять высоту, например ItemName и VendorName. Далее getDynaHieght() должен запустить dispay методы, соответстующие reportStringControls (названия методов и полей одинаковы), получить значения и выяснить влазят ли они в текущую высоту и, если нет, поправь высоту строки. Т.е. в getDynaHieght() мы получаем строковые название методов, которые надо выполнить. |
|
15.08.2005, 17:28 | #8 |
Участник
|
2 belugin
Спасибо, именно то, что я искал! |
|
15.08.2005, 17:39 | #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 |
|
15.08.2005, 18:13 | #10 |
Участник
|
2 mazzy
Достаточно давно сталкиваюсь с этой проблемой - не могли бы вы подсказать как грамотно решить эту задачу? Я смотрел ссылки, которые вы дали выше - но решения не нашел - получается свойствами отчета можно создать динамику, но только без сетки. У меня отчет с сеткой. Что делать? |
|
15.08.2005, 18:20 | #11 |
Участник
|
Цитата:
Изначально опубликовано axaLearner
Что делать? Если сетка нужна только для облегчения восприятия, то воспользуйтесь отчетом tutorial_ColourLines |
|
15.08.2005, 18:26 | #12 |
Участник
|
Спасибо, попробую.
|
|
15.08.2005, 19:15 | #13 |
Участник
|
Я обычно пользуюсь для решения этой задачи кодом, подсмотренным тут :
\Reports\CustVendFacture_RU\Designs\Facture\Generated Design\Section Group: FactureJour_RU\Body:JourBody\Section Group: FactureTrans_RU\Body:TransBody\Methods\prepareDynamicSection
__________________
любитель портвейна и снов с прокисшей капустой в усах |
|
16.08.2005, 08:12 | #14 |
Дмитрий Ерин
|
Цитата:
Изначально опубликовано axaLearner
2 Ruff Вообще в моем случае должен вызываться из экземпляра того же класса, т.е. через this. А какая разница? Старею... Спасибо, belugin ! |
|
Теги |
высота строк отчета, программно |
|
Похожие темы | ||||
Тема | Ответов | |||
Вызов метода базового класса | 15 | |||
Вызов класса из другого класса | 9 | |||
Вызов метода класса из HTML | 2 | |||
добраться из ClassFactory "обратно" до класса | 18 |
|