IntfCast в Delphi 6 - PullRequest
       49

IntfCast в Delphi 6

0 голосов
/ 30 марта 2011

У меня есть проект, в котором большое количество исходного кода недоступно. В одной из функций есть исключение IntfCast, и я проходил через приложение с помощью отладчика ЦП и определил функцию, содержащую операцию приведения и один из участвующих классов, но я не могу определить другой класс. Я пытаюсь повторить ошибку, но пытаюсь выполнить операцию приведения, которая не вызывает IntfCast. Как мне получить актерский состав для вызова IntfCast?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 30 марта 2011

IntfCast вызывается, когда вы пытаетесь привести объект или интерфейс к другому интерфейсу.Вот пример кода, который внутренне вызывает IntfCast:

type ISomeInterface = interface
[guid-goes-here, use ctr+g to obtain unique guid]
  procedure DoSomething;
end;

var X: TComponent;
    i: IUnknown;
begin
  (X as ISomeInterface).DoSomething;
  (i as ISomeInterface).DoSomething;
end;
0 голосов
/ 30 марта 2011

IntfCast вызывается при динамическом приведении .

Читать это http://hi.baidu.com/007ware/blog/item/de69ed3ce554890abba16726.html

...