|
01.11.2005, 11:01 | #1 |
Участник
|
Как получить название объекта _args.caller()
Подскажите плиз новичку.
У меня имеется ссылка на обьект ввиде args.caller(). Как я могу получить название этого обьекта? Да, и где почитать об этом? |
|
01.11.2005, 11:45 | #2 |
Участник
|
classId2Name(args.caller().handle());
или classId2Name(classIdGet(args.caller())); classId2Name - метод класса Global
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 01.11.2005 в 11:48. |
|
11.04.2022, 15:17 | #3 |
Участник
|
подниму старую ветку.
а в чем отличие между obj.handle() и classIdGet(obj)? понятно, что для перед obj.handle надо проверить на null. Есть ли другие отличия? пока нашел только это: Установка ax2009 на windows 2012 R2 |
|
11.04.2022, 16:20 | #4 |
Участник
|
Судя по исходникам classIdGet это типа
X++: return object? object.handle() : classIdFromVariableType; X++: MyClass myVariable = null; Debug::assert(classIdGet(myVariable) == classNum(MyClass)); myVariable = new MySubClass(); Debug::assert(classIdGet(myVariable) == classNum(MySubClass)); |
|
|
За это сообщение автора поблагодарили: mazzy (100). |
11.04.2022, 17:07 | #5 |
Участник
|
угу, так.
даже можно расширить утверждение вот так. X++: MyClass myVariable = null; Debug::assert(classIdGet(myVariable) == classNum(MyClass)); myVariable = new MySubClass(); Debug::assert(classIdGet(myVariable) == classNum(MySubClass)); myVariable = null; Debug::assert(classIdGet(myVariable) == classNum(MyClass)); интересно, как это работает с переменными типа auto в ax7+. |
|
11.04.2022, 17:19 | #6 |
Участник
|
|
|
11.04.2022, 18:11 | #7 |
Участник
|
var, конечно. Извините. Переменные с автовыводимым типом.
А про AnyType тоже вопрос хороший. Щас потестим anytype. |
|
11.04.2022, 19:28 | #8 |
Участник
|
Цитата:
Сообщение от mazzy
var, конечно. Извините. Переменные с автовыводимым типом.
|
|
|
За это сообщение автора поблагодарили: mazzy (2). |
11.04.2022, 18:15 | #9 |
Участник
|
на anytype ax2009 выпадает в отладчик с неперехватываемой ошибкой в строке
X++: Debug::assert(classIdGet(myVariable) == classNum(MySubClass)); |
|