|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
Допустим, есть объявление какого-то класса, где есть, методы класса ClassMethod и Method. ClassMethod вызывается из кода и терминала: do ##class(Test.Item).SomeMethod() ,подскажите, как вызывается обычный Method? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 08:08 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
Method это уже метод самого объекта этого класса. Поэтому его нужно сначала открыть или создать. Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 08:11 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
DAiMor, Спасибо! Подскажите, а можно ли как-нибудь получить доступ к вызывающему объекту внутри метода? Допустим метод определен так:Method SomeMethod() As Test.Item { // ... q result }Т.е. нужно вернуть вызывающий объект в качество результата, или если нужно использовать вызывающий объект внутри метода. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 08:24 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
Вам бы почтать документацию, или книжку. в методе объекта можно обращаться к любым свойствам вызванного объекта и вызывать другие методы указав перед их именем 2 точки. Дляя того чтобы вернуть самого себя есть переменная %this либо ##this Код: plaintext
{ w ..Name D ..OtherMethod() Quit %this } ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 08:43 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
DAiMor... Quit %this ... В последних версиях рекомендуется использовать $this (%this - устаревшая конструкция). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 10:00 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
ser_shuDAiMor... Quit %this ... В последних версиях рекомендуется использовать $this (%this - устаревшая конструкция).с $this, у меня как-то была засада, передавался не объект а имя класса этого объекта, это было неожиданно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 10:07 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
DAiMorser_shuпропущено... В последних версиях рекомендуется использовать $this (%this - устаревшая конструкция).с $this, у меня как-то была засада, передавался не объект а имя класса этого объекта, это было неожиданно.У меня наоборот, при переходе с 2008 на 2010 и 2012 %this подбрасывала странностей, пришлось всё переписать на $this. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 10:18 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
ser_shuУ меня наоборот, при переходе с 2008 на 2010 и 2012 %this подбрасывала странностей, пришлось всё переписать на $this.А мы переделывали ##this на %this ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 10:20 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
DAiMorser_shuУ меня наоборот, при переходе с 2008 на 2010 и 2012 %this подбрасывала странностей, пришлось всё переписать на $this.А мы переделывали ##this на %this##this это макрос, до 2010 он был %this, после стал $this. Но у меня проблем с $this не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 10:25 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
Использую, ##this - все ок. Чтобы не создавать еще одну тему, спрошу здесь. Обязательно ли удалять(kill) объекты и переменные, созданные командой set? Или можно не использовать kill, все удалится само после выхода из области видимости метода? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 11:43 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
RelizaИспользую, ##this - все ок. Чтобы не создавать еще одну тему, спрошу здесь. Обязательно ли удалять(kill) объекты и переменные, созданные командой set? Или можно не использовать kill, все удалится само после выхода из области видимости метода?В большинстве случаев, это не требуется, но это легко проверить, выполнив безаргументный zwrite, который покажет все доступные локальные переменные. если в классе или в методе отключить параметр ProcedureBlock, то тогда нужно будет их чистить, потому как они останутся. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 11:47 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
RelizaОбязательно ли удалять(kill) объекты и переменные, созданные командой set?Без кила имел проблемы при смене областей... Т.е. зашел в процедурку/метод, сменил область, поработал с объектами, сменил область, вышел. Переменные-то пропали... А вот объекты остались кагбэ открытыми... Теперь всегда киляю. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 13:14 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
ser_shu##this это макросСинтаксически это директива препроцессора. Макрос начинается на $$$. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 13:55 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
DAiMorс $this, у меня как-то была засада, передавался не объект а имя класса этого объекта, это было неожиданно.В методах класса так и работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 14:37 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2014, 10:03 |
|
Как вызвать Method из кода, или терминала?
|
|||
---|---|---|---|
#18+
RelizaОбязательно ли удалять(kill) объекты и переменные, созданные командой set? Или можно не использовать kill, все удалится само после выхода из области видимости метода? 15206965 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2014, 10:23 |
|
|
start [/forum/topic.php?fid=39&fpage=21&tid=1556903]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 297ms |
total: | 434ms |
0 / 0 |