[an error occurred while processing this directive]
|
Вы рассматриваете способ, каким фильтр исключений может
узнать у системы "все про это исключение".
Но это не имеет никакого отношения к проблемам
включения этого фильтра (и некоторых других процедур)
в тело класса. Это другой вопрос.
Будут ли "они" там работать?
Ответ "да", запустится.
Но ни к каким членам класса они обратиться не могут.
Зыс не загружен.
Тогда становИться членами класса для "таких" процедур
бессмысленно. Из-за "принципиального противоречия" и.т.д.
Конечно, разработчики компиляторов могли бы нам помочь.
Например - компилер "понял", что разработчик хочет
interrupt членом класса. Тогда он вставляет в процедуру
interrupt дополнительные коды, загружающие базу(this) константой (0).
А в конструктор - дополнительные коды, изменяющие программу
(эту константу) в процессе создания обьекта, но до запуска интеррапта.
Фактически, патчим коды "на лету".
Тогда все станет "хорошо".
Строго говоря, патчить на лету мы и сами смогем.
Но тогда без вставок ассемблера не обойтись и только в RAM.
E-mail: info@telesys.ru