Доброго времени суток всем! Помогите, пожалуйста, исправить ошибку:
Код:
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;