Помогите исправить ошибку...

ВячеславЛ
Дата: 23.05.2011 12:12:33
Скачал исходники мини веб браузера, но его писали скорее всего на раней версии дельфи, у меня 2009

Пытаюсь исправить ошибки, но не все получается.


procedure WB_getLinks(WB: TWebbrowser; sl: TStrings);
var
  u: variant;
  v: IDispatch;
  s: string;

  procedure RecurseLinks(htmlDoc: variant);
  var
    BodyElement: Olevariant;
    ElementCo: Olevariant;
    HTMLFrames: Olevariant;
    HTMLWnd: Olevariant;
    doc: Olevariant;
    j, i: integer;
  begin
    if not(htmlDoc) then
      exit;
    BodyElement := htmlDoc.body;
    if BodyElement.tagName = 'BODY' then
    begin
      ElementCo := htmlDoc.links;
      j := ElementCo.Length - 1;
      for i := 0 to j do
      begin
        u := ElementCo.item(i);
        s := u.href;
        sl.Add(s);
      end;
    end;
    HTMLFrames := htmlDoc.Frames;
    j := HTMLFrames.length - 1;
    for i := 0 to j do
    begin
      HTMLWnd := HTMLFrames.Item(i);
      try
        doc := HTMLWnd.Document;
        RecurseLinks(doc);
      except
        continue;
      end;
    end;
  end; // RecurseLinks
begin
  v := WB.document;
  sl.Clear;
  RecurseLinks(v);// [color=red]ОШИБКА - Invalid Varian Type conversion[/color]
end;
DmSer
Дата: 23.05.2011 22:26:07
Мы должны отгадать на какой строке функции RecurseLinks происходит ошибка?