请老大们看看程序有何不妥,如何优化,谢谢!(50分)

  • 主题发起人 主题发起人 szw3000
  • 开始时间 开始时间
S

szw3000

Unregistered / Unconfirmed
GUEST, unregistred user!
这是一个网上投票部分程序,因为是要循环的判断页面变化,点击按钮所以程序写出来后程序运行时间一长会出现资源不足,或者与其他程序内存冲突。
因为是初学很多东西都是这东拼西凑的:)希望高手们帮忙看看程序什么地方应该进行改造,如何优化,使程序运行更稳定,谢谢。因为刚入会分数不多出50分表示敬意,谢谢。
procedure TForm1.Button5Click(Sender: TObject);
var
i:integer;
t:OleVariant;
begin
t := WebBrowser1.Document;
for i := 0 to t.all.length - 1 do
begin
if t.all.item(i).tagName = 'INPUT' then
begin
if t.all.item(i).type = 'submit' then
begin
t.all.item(i).click;
exit;
end;
end;
end;
end;
procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
var
Doc:IHtmlDocument2;
TxtRange:IHtmlTxtRange;
begin
if edit1.text='1' then
begin
Doc:=WebBrowser1.Document as IHtmlDocument2;
TxtRange:=Doc.Selection.CreateRange as IHtmlTxtRange;
if TxtRange.findtext('您刚投过',5,0)=false then
button5.click else if TxtRange.findtext('您刚投过',5,0)=true
then
begin
(MessageBox(handle,'哈哈,','胜利',MB_OK));
edit1.text:='0';
end;
end;
end;
 
内存方面看不出来,但程序写的太繁,可以简化。
procedure TForm1.Button5Click(Sender: TObject);
var
i:integer;
t:OleVariant;
begin
t := WebBrowser1.Document;
for i := 0 to t.all.length - 1 do
begin
if (t.all.item(i).tagName = 'INPUT') and
(t.all.item(i).type = 'submit' ) then
begin
t.all.item(i).click;
exit;
end;
end;
end;

procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
var
Doc:IHtmlDocument2;
TxtRange:IHtmlTxtRange;
begin
if edit1.text<>'1' then exit;
Doc:=WebBrowser1.Document as IHtmlDocument2;
TxtRange:=Doc.Selection.CreateRange as IHtmlTxtRange;
if TxtRange.findtext('您刚投过',5,0) then
begin
( MessageBox(handle,'哈哈,','胜利',MB_OK));
edit1.text:='0';
end
else
button5.click;
end;

 
老大,出现资源不足,或者内存的冲突应该是ie内核本身的错误吗??
 
接受答案了.
 
后退
顶部