21.01.2004, 12:11 | #1 |
Участник
|
FormRun extends ObjectRun - что это концептуально значит?
Что означает
<pre>public class FormRun extends ObjectRun</pre> если это объявление нового класса, то почему можно делать одновременно много таких объявлений в разных формах? Допустим, я добавил свой метод в форму: как правильно использовать его извне со статическим контролем типов? (т.е. если я сделаю опечатку в коде, то компилятор мне на это указал) |
|
21.01.2004, 13:15 | #2 |
Участник
|
это объявление делает сама аксапта и сама же следит за правильностью.
статический контроль работать будет. форма, таблица, отчет - специализированнные классы, ядро обрабатывает их дополнительно. |
|
21.01.2004, 13:31 | #3 |
Участник
|
Цитата:
Изначально опубликовано mazzy
это объявление делает сама аксапта и сама же следит за правильностью. статический контроль работать будет. Я просто вижу признак того, что я не понимаю . я заменил эту строчку на public class NotFormRun extends ObjectRun при это никакой разницы не заметил. Цитата:
форма, таблица, отчет - специализированнные классы, ядро обрабатывает их дополнительно.
Как воспользоваться этим статическим контролем? Я полазил по форуму и тьюториалам и сконструировал следующий код PHP код:
как мне сделать, чтобы f был объявлен не как ссылка на объект вообще, а как ссылка на конкретный класс формы MBAddress_Form? MBAddress_Form f; приводит к ошибке компиляции. |
|
21.01.2004, 13:38 | #4 |
Banned
|
Цитата:
как мне сделать, чтобы f был объявлен не как ссылка на объект вообще, а как ссылка на конкретный класс формы MBAddress_Form?
|
|
21.01.2004, 14:00 | #5 |
Участник
|
- каким образом инстанциирование SysSetupFormRun влияет на объявление переменной (я говорил об объявлении переменной типа моей формы)?
- каким образом до моей формы доходит вызов setCatg если оно обращено к экземпляру другого класса? |
|
21.01.2004, 14:25 | #6 |
Участник
|
не думаю, что надо переписывать forumRun. Хотя согласен с тем, что в конечном итоге задачу создания экземпляра выполняет ClassFactory.
О правильном запуске (инстанцировании) форм читайте хелп разработчика Activating a menu item from your X++ code можно поискать по ключевому слову "formRun" Или, если все же хотите заниматься созданием форм вручную, прочиатйте Constructing a form from your X++ code реальный тип формы, таблицы, отчета берется не из classDeclaration, а из AOT. classDeclaration нужен только для определения локальных для формы/отчета переменных. Цитата:
каким образом до моей формы доходит вызов setCatg если оно обращено к экземпляру другого класса
|
|
26.01.2004, 16:35 | #7 |
Administrator
|
Формы, таблицы и отчеты не являются классами в полном понимании этого слова. Более точным будет считать их объектами соответствующих надклассов с различными наборами начальных значений.
Соответственно, получить объект класса MySpecialForm невозможно, так как такого класса просто нет.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.01.2004, 17:59 | #8 |
Участник
|
Потрассировал создание формы и увидел что создается SysSetupFormRun, который сразу же возврашяется и непостижимым образом мутирует в мою форму... вобщем понятно, что общие механизмы тут не используются.
Кстати, есть ли способ самому динамически добавлять методы в объект? как в динамических языках? |
|