Показать сообщение отдельно
  #13  
Старый 19.10.2013, 05:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от angvelem
Возможно таймер не успевает отрабатывать код при 100 мСек и код запускается снова.

Application.ExeName уже "знает" имя проекта а ParamStr(0) вычисляет его. Это несколько медленнее.

Думаю, дело не в этом.
Тут скорее всего косяк менеджера памяти. При вычислении extractFilePath(...) у тебя каждый раз создается новая строка и под нее распределяется память. Вероятно, в какой-то момент менеждер памяти "просечет", что у него куча неиспользованной памяти, и станет ее переиспользовать.

С другой стороны, у тебя, ну если верить представленному коду, всегда вычисляется одна и та же строка при каждом событии таймера. Можно спросить, А НАФИГА?!! Такие вещи вычисляются один раз при старте программы, а потом просто используется готовое значение.
Ответить с цитированием