Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.03.2014, 12:20
Limonfife Limonfife вне форума
Прохожий
 
Регистрация: 23.03.2014
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Помогите найти ошибку. Где-то у меня несоответствие типов

Доброго времени суток всем! Помогите, пожалуйста, исправить ошибку:

Код:
   private
  procedure AvtoClick;
  procedure AvtoPoisk;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
   Round: integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ewb1.Navigate(edt5.Text);
  Round:= 1;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  ewb1.Navigate(edt1.Text);
end;

procedure TForm1.AvtoClick;
var
 i: integer;
 s, mylink: string;
begin
     while ewb1.ReadyState < READYSTATE_COMPLETE do
        Application.ProcessMessages;
  for i := 0 to ewb1.OleObject.Document.links.Length - 1 do
       begin
        s:=ewb1.OleObject.Document.links.Item(i).InnerText;
          if s='Жми тут' then
           begin
            mylink := ewb1.OleObject.Document.links.Item(I);
            ewb1.Navigate(mylink);
            end;
       end;
end;

procedure TForm1.AvtoPoisk;
var
  
  htmlDoc: IHTMLDocument2;
  allLinks: IHTMLElementCollection;
  firstLink: IHTMLElement;
   url :string;
begin
     while ewb1.ReadyState < READYSTATE_COMPLETE do
        Application.ProcessMessages;
    htmlDoc := ewb1.Document as IHTMLDocument2;
  allLinks := htmlDoc.Links;
  firstLink := allLinks.Item(8,'') as IHTMLElement;
    url := firstLink.toString;
      ewb1.Navigate(url);//Вот здесь выскакивает ошибка:  Could not convert variant of type(Dispatch) into type (String)
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if Round < strtoint(edt2.text) then
  begin
    inc(Round);
    ewb1.Navigate(edt1.Text);
    AvtoPoisk;
    AvtoClick;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Timer1.Interval:= strtoint(edt3.text)*1000;
 Timer1.Enabled:= True;
end;
Ответить с цитированием
  #2  
Старый 23.03.2014, 21:07
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Попробуйте забрать в скобки выражения с as. Да и посмотрите содержимое переменной url перед её передачей на навигейт в браузер
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:23.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025