ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

23.04.2010, 19:45
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Сообщение от _nic
С сокетами легче синхронизировать 
За базар ответишь?  Разница-то какая?
|
|
|

23.04.2010, 20:13
|
|
Banned
Регистрация: 09.04.2010
Сообщений: 181
Провел на форуме: 475927
Репутация:
12
|
|
IDhttp легче в изучение
|
|
|

23.04.2010, 20:50
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме: 1819761
Репутация:
180
|
|
Возможных способов синхронизации потоков не так много и ни в одном из них нет особых сложностей.
|
|
|

23.04.2010, 20:53
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Сообщение от GhostOnline
Разница-то какая?
Можно даже ничего не синхронизировать.А если надо упорядочить доступ к каким то общим данным то крит.секций будет вполне достаточно.
Сообщение от Sunstrider
IDhttp легче в изучение
за то rfc знать не будешь 
|
|
|

23.04.2010, 21:04
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Сообщение от _nic
Можно даже ничего не синхронизировать.А если надо упорядочить доступ к каким то общим данным то крит.секций будет вполне достаточно.
за то rfc знать не будешь 
А крит секции это не синхронизация?
Низачод, сморозил чушь, а теперь чтобы оправдаться вообще загнался
Читать научись.Потом внимательно ещё раз прочти.Юный фанатик делфей.
Что-то мне сдается что юный фанатик дельфей старше тебя
Последний раз редактировалось GhostOnline; 23.04.2010 в 21:22..
|
|
|

23.04.2010, 21:17
|
|
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме: 2982851
Репутация:
107
|
|
Сообщение от GhostOnline
А крит секции это не синхронизация?
Низачод, сморозил чушь, а теперь чтобы оправдаться вообще загнался
Читать научись.Потом внимательно ещё раз прочти.Юный фанатик делфей.
|
|
|

24.04.2010, 00:19
|
|
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме: 1682814
Репутация:
102
|
|
Сообщение от ange007
Создавай все компоненты в Execute перед выполнением работы а не в процедурах.
И уничтожай потом в Destroy или где там у тебя завершение.
создаю
Код:
tnew = class(tthread)
private
http:TIdHTTP;
cook:tidcookiemanager;
protected
procedure execute; override;end;
procedure tnew.execute;
begin
http:=form1.idhttp1.Create;
http.HandleRedirects:=true;
cook:=form1.idcookiemanager1.Create(http);
http.CookieManager:=cook;
<..>
end;
первый поток грузится, после выдаёт "a component named idcookiemanager1 already exist"
wft? что я делаю не так?
|
|
|

24.04.2010, 00:48
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
cook := TIdCookieManager.Create(nil);
И мля, нах не надо его вообще создавать то
просто http.AllowCookies := True; и все
Ты все делаешь не так
form1.idcookiemanager1.Create(http);
что это за конструкотр такой? ты пытаешься создать объект другим компонентом?
Последний раз редактировалось GhostOnline; 24.04.2010 в 00:51..
|
|
|

24.04.2010, 01:03
|
|
Участник форума
Регистрация: 09.05.2009
Сообщений: 186
Провел на форуме: 1682814
Репутация:
102
|
|
Сообщение от GhostOnline
Ты все делаешь не так
form1.idcookiemanager1.Create(http);
что это за конструкотр такой? ты пытаешься создать объект другим компонентом?
не ругайся ((:
хз, с какого-то примера скопипастил. ща папрбую как ты сказал.
|
|
|

24.04.2010, 01:03
|
|
Новичок
Регистрация: 26.08.2009
Сообщений: 19
Провел на форуме: 977507
Репутация:
33
|
|
1n0y, нельзя в потоке просто так использовать компоненты с формы.
Создавай компоненты конкретно в самом потоке!
Вот что-то тип такого:
Код:
TMyThread = class(TThread)
private
FCS: RTL_CRITICAL_SECTION;
FH TidHTTP;
FS: TIdIOHandlerStack;
CM: TIdCookieManager;
...
protected
procedure Execute; override;
...
public
constructor Create;
destructor Destroy; override;
....
....
procedure TMyThread.Execute;
var text:string;
begin
{}
FH := TidHTTP.Create;
FS := TIdIOHandlerStack.Create;
CM := TidCookieManager.Create;
{--//--}
FH.IOHandler := FS;
FH.HandleRedirects := true;
FH.CookieManager := CM;
FH.AllowCookies := true;
...
text := FH.Get('');
...
end;
constructor TMyThread.Create;
begin
inherited Create(True);
...
FreeOnTerminate := False;
InitializeCriticalSection(FCS);
Resume;
end;
destructor TMyThread.Destroy;
begin
FreeAndNil(FH);
FreeAndNil(FS);
FreeAndNil(CM);
DeleteCriticalSection(FCS);
end;
Последний раз редактировалось ange007; 24.04.2010 в 01:12..
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Установка Indy 10.5.6
|
НTL |
С/С++, C#, Delphi, .NET, Asm |
10 |
20.12.2009 09:15 |
|
Indy 10 - проблема
|
mailbrush |
С/С++, C#, Delphi, .NET, Asm |
9 |
25.07.2009 16:56 |
|
[Delphi] Threads (проблема)
|
Flenov |
С/С++, C#, Delphi, .NET, Asm |
11 |
17.03.2009 08:45 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|