Показать сообщение отдельно
  #2  
Старый 12.08.2012, 15:18
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от R-18Rus
Есть txtшник. Прога черпает из него нужный текст. Если текст в начале файла всё идёт гладко. Если текст в середине или в конце, то прога зависает, проц и озу забиваются на 100% (судя по гаджетам на windows sidebar).
Зависание у тебя скорее всего тут:
Цитата:
Сообщение от R-18Rus
Код:
      s:=s+StrLst[i];
      s:=s+#13#10;
Постоянное перераспределение памяти под переменную s (с копированием старого содержимого в новое место). Чем длиннее переменная s становится, тем дольше идёт эта операция и если "клеить" нужно много строк, то вот тебе и зависание.

Цитата:
Сообщение от R-18Rus
Думаю изменить условие if StrLst[i]='Г'+s1 на функцию i:=pos('Г'+s1,StrLst.Text).

Поможет ли это?
Если правильно сделать то поможет.

И где освобождение объекта StrLst!?
Ответить с цитированием