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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2010, 11:04   #1
The Pirate Bay
Пользователь
 
Аватар для The Pirate Bay
 
Регистрация: 07.04.2010
Сообщений: 12
По умолчанию Indy

Использую вот такой цикл

for i:=0 to sum do begin
IdHTTP1.HandleRedirects:=false;
try
IdHTTP1.Get('что-то'+Edit1.Text);
except Begin
Edit1.Text:=deleteFaskaStr(IdHTTP1. Response.Location,6,1);
end;
end;
IdHTTP1.HandleRedirects:=True;
try
IdHTTP1.Get('что-то'+Edit1.Text);
except
end;
end;
ShowMessage('Успешно закончено');


Если цикл повторить например 3000 раз, то программа занимает около 500-700 МБ оперативки, как уменьшить или очистить, занимаемую память для программы? Заранее благодарен!

Последний раз редактировалось The Pirate Bay; 23.04.2010 в 11:09.
The Pirate Bay вне форума Ответить с цитированием
Старый 23.04.2010, 11:06   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это весь код?
меня интересуют неизвестные мне процедуры типа FreeMem и DeleteFaskaStr
потому что сам код поидее верен, разве что в ИнДи утечка
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.04.2010, 11:12   #3
The Pirate Bay
Пользователь
 
Аватар для The Pirate Bay
 
Регистрация: 07.04.2010
Сообщений: 12
По умолчанию

FreeMem;-это я пробовал память освобождать, но ничего не получилось


//Удаление лишнего
function deleteStr(s: string; posit, count: integer): string;
begin
Delete(s, posit, count);
Result := s;
end;
function deleteFaskaStr(s: string; first, last: integer): string;
begin
result := deleteStr(s, 1, first);
result := deleteStr(Result, length(Result) - last + 1, length(Result) -
(length(Result) - last));
end;



эт я узнаю по какому адресу меня перенаправляют и удаляю всё лишнее
The Pirate Bay вне форума Ответить с цитированием
Старый 23.04.2010, 11:13   #4
The Pirate Bay
Пользователь
 
Аватар для The Pirate Bay
 
Регистрация: 07.04.2010
Сообщений: 12
По умолчанию

а если поподробнее, где в инди может быть утечка?
The Pirate Bay вне форума Ответить с цитированием
Старый 23.04.2010, 11:25   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

чет не припомню функции FreeMem чтоб без параметров работала...

в ИнДи, да мест много...у вас какая версия ИнДи?
это точно весь код?(допустим по кнопке)
просто если есть еще чтото то лучше показать ибо(я не прошу всякие там парсинги...но именно все что выполняется с этим циклом)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.04.2010, 11:34   #6
The Pirate Bay
Пользователь
 
Аватар для The Pirate Bay
 
Регистрация: 07.04.2010
Сообщений: 12
По умолчанию

это и есть весь код по кнопке, а как узнать версию инди, у меня 7 делфи, а инди стандартная
The Pirate Bay вне форума Ответить с цитированием
Старый 23.04.2010, 11:51   #7
The Pirate Bay
Пользователь
 
Аватар для The Pirate Bay
 
Регистрация: 07.04.2010
Сообщений: 12
По умолчанию

вроде 9 версия инди
The Pirate Bay вне форума Ответить с цитированием
Старый 25.04.2010, 21:00   #8
The Pirate Bay
Пользователь
 
Аватар для The Pirate Bay
 
Регистрация: 07.04.2010
Сообщений: 12
По умолчанию

кто поможет?
The Pirate Bay вне форума Ответить с цитированием
Старый 26.04.2010, 01:02   #9
пауэрлифтинг
Заблокирован
 
Регистрация: 11.12.2009
Сообщений: 133
По умолчанию

обнови до 10.5.7 версии
пауэрлифтинг вне форума Ответить с цитированием
Старый 27.04.2010, 14:43   #10
The Pirate Bay
Пользователь
 
Аватар для The Pirate Bay
 
Регистрация: 07.04.2010
Сообщений: 12
По умолчанию

поможет или просто предположение?
А как избавиться от зависания данного кода(форма как бы не отвечает, а на самом деле код выполняется)?
The Pirate Bay вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как обновить indy 9 на indy 10 Пилигрим Компоненты Delphi 16 30.04.2010 10:11
Indy 10 eldar Работа с сетью в Delphi 2 26.04.2009 13:41
Indy 9 против Indy 10 OrdJONY Свободное общение 2 08.11.2008 20:28
Indy Killbrum Работа с сетью в Delphi 6 26.09.2008 10:12