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

05.11.2009, 13:49
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
2 Пуховой
Код:
http.ReadTimeout := 30000;
30 секунд ждать не много? если у тебя 1000 итераций то уйдет 60 часов + задержки таймера.
у тебя задержка в такймере сколько стоит?
Зависает всмысле форма не обновляется или программа ничего не делает?
если форма то добавть в цикл потока или той функции котороая больше всего времени отнимает
Application.ProcessMessage;
|
|
|

05.11.2009, 14:13
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме: 1702086
Репутация:
89
|
|
transserg, задержка в таймере - 10 минут. Т.е. - каждые 10 минут обновляется список прокси-серверов, но дело не в этом. Критическая секция используется только при обновлении самого списка, не более, а на это уходит дай бог 1 мсек.
Сл. эксперимент. Тело таймера:
procedure TForm1.Timer3Timer (Sender: TObject);
begin
CriticalSection.Enter;
proxys.Clear;
proxys.Add ('12345');
CriticalSection.Leave;
end;
При использовании критической секции другим потоком, в момент обращения таймера к ней программа также виснет (приостанавливают работу потоки, перестает отвечать главная форма).
Чую, надо ковырять глубже, интерес разобрал 
|
|
|

05.11.2009, 14:28
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
Пуховой
для того чтоб форма не подвисала используй Application.ProcessMessage; или как варинат преостанавливай потоки на время обновления списка проксей
|
|
|

05.11.2009, 14:38
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме: 1702086
Репутация:
89
|
|
transserg, application.processmessages здесь не поможет.
Известно одно - таймер тыкается в крит. секцию и все идет "не по плану". Буду копать глубже.
Спасибо за ответы 
|
|
|

05.11.2009, 22:39
|
|
Участник форума
Регистрация: 28.10.2009
Сообщений: 129
Провел на форуме: 460561
Репутация:
67
|
|
При компиляции программы вываливается "Access violation...". Появляется дебаггер с ассамблерным кодом. Работаю на дельфи 7
|
|
|

05.11.2009, 22:48
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
Adekvatnyj зедсь есть экстрасенсы? =) код выложи
или хотяб часть на которую грешиш
|
|
|

05.11.2009, 23:25
|
|
Участник форума
Регистрация: 28.10.2009
Сообщений: 129
Провел на форуме: 460561
Репутация:
67
|
|
При любом коде, скрин:
_http://s19.radikal.ru/i192/0911/29/c04d62ddc85e.png
|
|
|

05.11.2009, 23:32
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
Adekvatnyj я имел ввиду код программы а не отладчик
|
|
|

05.11.2009, 23:35
|
|
Участник форума
Регистрация: 28.10.2009
Сообщений: 129
Провел на форуме: 460561
Репутация:
67
|
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Привет, ' + Edit1.Text + '!');
end;
end.
Допотопные коды. С учебника.
|
|
|

06.11.2009, 00:53
|
|
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
Провел на форуме: 1035284
Репутация:
52
|
|
Adekvatnyj попробуй переустановить делфи или поставть Codegear какой нить, скорее всего проблемы в среде
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|