Есть ли в Ада способ получить access или адрес метода заданного объекта (tagged естественно),
тип которого не известен на этапе выполнения.
В RM нашел только возможность сравнить тип 2-х объектов через аттрибут Tag, а как полчить адреса их методов, че то не нашел.
Dmitriy Anisimkov wrote:
Есть ли в Ада способ получить access или адрес метода заданного объекта (tagged естественно),
тип которого не известен на этапе выполнения.
В RM нашел только возможность сравнить тип 2-х объектов через аттрибут Tag, а как полчить адреса их методов, че то не нашел.
А если нагло:
Object_Name.Method_Name'Access ?
Sergey I. Rybin wrote:
Dmitriy Anisimkov wrote:
Есть ли в Ада способ получить access или адрес метода заданного объекта (tagged естественно),
тип которого не известен на этапе выполнения.
В RM нашел только возможность сравнить тип 2-х объектов через аттрибут Tag, а как полчить адреса их методов, че то не нашел.
А если нагло:
Object_Name.Method_Name'Access ?
bla-bla.adb:621:43: no selector "Method_Name" for type "Object_Type'CLASS" defined at bla-bla.ads:15
Object_Name.Method_Name - это в Ада200X только обещают, А вот в GNAT 5.03 не проканало.
Dmitriy Anisimkov wrote:
Есть ли в Ада способ получить access или адрес метода заданного объекта (tagged естественно),
тип которого не известен на этапе выполнения.
В RM нашел только возможность сравнить тип 2-х объектов через аттрибут Tag, а как полчить адреса их методов, че то не нашел.
Вообще-то в Ada любой адрес - достаточно абстрактная вещь. Адрес динамически диспетчеризируемой подпрограммы - очень глубоко зарытая штука и честными путями е ён енайт. :)
иОднак, Ada.Tags - Get_Prim_Op_Address - от, очт оиспользуе ткомпилято рпр игенераци икод.
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти