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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2010, 11:51   #21
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Добавил в пред. посте
bulldog5293 вне форума Ответить с цитированием
Старый 29.11.2010, 11:54   #22
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

текста их не вижу.
только обьявление.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.11.2010, 12:04   #23
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

забыл, добавил
bulldog5293 вне форума Ответить с цитированием
Старый 29.11.2010, 12:09   #24
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure BUX.Execute;
var
  img: TMemoryStream;
    png: TPNGObject;
    JPEG: TJPEGImage;
  Stream: TMemoryStream;
красное убрать(именно с execute)

попробуй так, потом дальше посмотрим.

обьясню ошибку, у вас есть переменные как члены класса png, JPEG которые и используются в синхрониз методах.
а вы обьявили еще и локальные которые существуют только в execute, и с ними работаете, конечно ошибка будет.

сча еще синхронизацию подправим

Цитата:
form9.Free;
грубейшая ошибка, обьект уничтожили, а потом еще и используете.
Код:
type
  BOT = class(TThread)
    FUrl: String;
    FLogin: String;
    FPassword: String;
  private
    HTTP_BUX: TIdHTTP;
  protected
    public
  end;
procedure BUX.Execute;
var
  img: TMemoryStream;
    png: TPNGObject;
    JPEG: TJPEGImage;
  code:string;
      begin
        HTTP_BUX.get('http://' + FUrl);
        HTTP_BUX.get('http://' + FUrl + 'login.php?r=', S);
        begin
        If Pos('image.php?', S.datastring) > 0 then
          try
          img := TMemoryStream.Create;
          png := TPNGObject.Create;
          HTTP_BUX.get('http://' + FUrl + 'image.php?', img);
          img.Position := 0;
          png.LoadFromStream(img);
          code := '';
          form9.Image1.Picture.Assign(png);//предпологаю что на 9-ой форме есть Image1
          form9.ShowModal;
          code:=form9.edit1.text;
          if code <> '' then
          inf.Add('username=' + FLogin);
          inf.Add('password=' + FPassword);
          inf.Add('code=' + code);
          ain := HTTP_BUX.Post('http://' + FUrl + 'login.php', inf);
          вход := poster(ain);
          finally
          png.Free;
          inf.Free;
          img.Free;
        end
        else
        begin
          inf.Add('username=' + FLogin);
          inf.Add('password=' + FPassword);
          ain := HTTP_BUX.Post('http://' + FUrl + 'login.php', inf);
          вход := poster(ain);
          inf.Free;
        end;
        end;
        S.Position := 0;
        st := TStringStream.Create;
        HTTP_BUX.get('http://' + FUrl + вход, st);
        If Pos('ads.php', st.datastring) > 0 then
        begin
          HTTP_BUX.get('http://' + FUrl + 'ads.php', st);
        end
        else
        begin
          If Pos('sites.php', st.datastring) > 0 then
          begin
            HTTP_BUX.get('http://' + FUrl + 'sites.php', st);
          end;
        end;
       Otvet := HTTP_BUX.get('http://' + FUrl + Z + N);
      Ur := PosSrc(Otvet);
      Otvet1 := HTTP_BUX.get('http://' + FUrl + Ur);
      end;
      end;
      h := SetTimeOutJS(Otvet1);
      g1 := Para(Otvet1);
      HTTP_BUX.get('http://' + Form13.Listview1.Items[0].SubItems.strings[0]);
      Sleep(h);
            Otvet3 := TStringStream.Create;
      HTTP_BUX.get('http://' + FUrl + g1, Otvet3);
      begin
      If Pos('src="', Otvet3.datastring) > 0 then
          try
      cis := TStringList.Create;
      img:=TMemoryStream.Create;
        JPEG:=TJPEGImage.Create;   //создаем jpeg
      HTTP_BUX.get('http://' + FUrl + 'captch.php', Stream);
      img.Position:=0; //устанавливаем ОБЯЗАТЕЛЬНО на ноль
        JPEG.LoadFromStream(img);//загружаем данные из потока
          form9.Image1.Picture.Assign(jpg);//предпологаю что на 9-ой форме есть Image1
          form9.ShowModal;
          code:=form9.edit1.text;
          if code <> '' then
      cis.Add('captcha=' + code);
      HTTP_BUX.Post('http://' + FUrl + y, cis);
      finally
      JPEG.Free;
      img.Free;
          end;
      end;
end;
примерно так.

кстати не плодите индусский код, переменные можно использовать по несколько раз.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 29.11.2010 в 12:21.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.11.2010, 12:16   #25
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

не получается, всё равно зависает если Synchronize(go), если просто go то ошибка
bulldog5293 вне форума Ответить с цитированием
Старый 29.11.2010, 12:24   #26
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я пост дописал.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.11.2010, 12:53   #27
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Респект и уважуха Пепел Феникса!!! Работает как часы, поставил бы + но пока не могу, так что +++ из моего сообщения для тебя Вопрос снят!
bulldog5293 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация с капчей и без bulldog5293 Работа с сетью в Delphi 11 25.08.2010 01:17
трабл БД cyber_NINJA Помощь студентам 0 20.05.2010 17:42
трабл Informer Общие вопросы C/C++ 0 02.06.2009 15:21
НУЖЕН ПРОГРАММИСТ для написания ПО по распознованию капчей pro_ccx Фриланс 1 31.05.2008 11:37