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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2011, 15:47   #1
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию создание idhttp динамично

Код:
s:=tidhttp.Create();
  s.HandleRedirects:=true;
  s.AllowCookies:=true;
  s.CookieManager:=form2.CM
ну етот код работает норм... у меня програма имеет несколько потоков во я и решыл что можно создать юнит с несколькими ф-ями и использовать етот модуль... пока что там токо одна ф-я:
Код:
unit vkdow;


interface
uses idhttp,IdCookieManager;

function createserv(serv:tidhttp;coo:tIdCookieManager):boolean;

implementation
 function createserv(serv:tidhttp;coo:tIdCookieManager):boolean ;
  begin
    serv:=tidhttp.Create();
    serv.HandleRedirects:=true;
    serv.AllowCookies:=true;
    serv.CookieManager:=coo;
  end;

end.
когда я использую ф-ю с етого модуля вместо кода который напечатал выше... тупо не работает... никаких ошыбок просто не проходит запрос... в чем может быть причина?
Pein95 вне форума Ответить с цитированием
Старый 29.04.2011, 15:55   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

.. если я собираюсь работать с веб, то не кидаю компоненту на форму, а делаю так(в потоке):
Код:
uses ....,idHTTP:

procedure smth;
var
 http:TIdHTTP;
begin
http:=TidHTTP.Create(nil);
try
{something code here}
finally
FreeAndNil(http);
end;
end;
а ошибка ваша в ом что у компоненты долже быть Owner в моём случае Nil т.к. создаю его в потоке.
Человек_Борща вне форума Ответить с цитированием
Старый 29.04.2011, 16:09   #3
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

сделал вот так:
Код:
unit vkdow;


interface
uses idhttp,IdCookieManager;

procedure createserv(serv:tidhttp;coo:tIdCookieManager);

implementation
 procedure createserv(serv:tidhttp;coo:tIdCookieManager) ;
  begin
   serv:=tidhttp.Create(nil);
  

    serv.HandleRedirects:=true;
    serv.AllowCookies:=true;
    serv.CookieManager:=coo;
 
  end;

end.
вот код потока:
Код:
unit autho;
interface
uses
  Classes,VK_API,  Dialogs,IdHTTP,SysUtils,vkdow;
type
  authp = class(TThread)
  private
    { Private declarations }
  protected
    procedure authorization;
    procedure Execute; override;
  end;

implementation
uses authunit,unit2;


procedure authp.Execute;

begin
authorization;
end;

procedure authp.authorization;
var
data:tstringlist;
idhttp:tidhttp;
pageprofile:string;
a:boolean;
begin
   data:= TStringList.Create();
   {idhttp:=tidhttp.Create();
   idhttp.HandleRedirects:=true;
   idhttp.AllowCookies:=true;
   idhttp.CookieManager:=form2.CM; //кукіменеджер   }

   createserv(idhttp,form2.CM);


pageprofile:=idhttp.Get('http://vkontakte.ru/login.php?email='+authform.mailedit.Text+'&pass='+authform.passedit.Text);
if Pos('logout', PageProfile)<>0 then
a:=form2.save(form2.codememo,pageprofile,'index.html');

data.Addstrings(GET_VKAPI_SESSION(authform.MailEdit.Text,authform.PassEdit.Text,'2248956'));
form2.infabakmemo.Lines.AddStrings(data);

idhttp.Free;

form2.onofline.visible:=true;
end;


end.
результа тот же...

Последний раз редактировалось Pein95; 29.04.2011 в 16:17.
Pein95 вне форума Ответить с цитированием
Старый 29.04.2011, 19:33   #4
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

кто может чтото подсказать?)
Pein95 вне форума Ответить с цитированием
Старый 30.04.2011, 00:57   #5
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

неужели никто не знает что здесь можно сделать другой день над етим сижу...
Pein95 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамично вывести текст на экран Anfall PHP 7 12.01.2011 15:31
IdHTTP akimov_aleks Работа с сетью в Delphi 1 21.03.2010 03:18
Определение имени таблицы динамично vlad_stv Microsoft Office Access 10 01.03.2010 12:54
idHTTP DeDoK Общие вопросы Delphi 5 05.06.2008 22:45
Как динамично быстро загрузить в компонент Stringgrid 34 символа? SkAndrew Общие вопросы Delphi 11 13.04.2008 12:42