Как получить IID интерфейса: значение TGUID, когда Delphi TObject.GetInterface вызывает нарушение прав доступа?

Я начинаю использовать getText в Delphi 2009, и я испытываю ошибки Access Accessolation со следующим callstack (как замечено MadException):

TObject.GetInterface
TInterfacedPersistent.QueryInterface
NotifyGlobalLoading
InitInheritedComponent
TCustomForm.Create
...

Я мало что могу сделать с этим стеком вызовов, если я не знаю аргументов этих вызовов, и Delphi останавливается в таких вызовах без отображения локальных переменных. Итак, как я могу получить аргументы для последнего вызова в стеке вызовов? Я знаю, что могу попытаться добавить модуль System.pas в свой проект и изменить сам метод TObject.GetInterface для регистрации всех обращений к нему, но это хорошая идея, чтобы изменить такой базовый модуль? Я делал подобные вещи с модулями IBX, и процесс гладкий, и результат хороший, но я не могу оценить риски изменения системного блока. Может быть, есть другой способ получить эти аргументы?

0 ответов

Другие вопросы по тегам