а общие куски там были.
delphi Код:
ListSearch := StringReplace (ListSearch, ',', ';', [rfReplaceAll])+';';
и
delphi Код:
if (AnsiPos(tmp.ValueFromIndex[k]+';', ListSearch) > 0) then (процедура внедрения)
что будет если
tmp.ValueFromIndex[k] = ''
и
в конце строки ListSearch уже есть ';' ?
внедряемся в tmp.Names[k] ?.
по идее это и есть причина. внедрения куда попало.
заодно и обнаружил что в этом таймере интервал был постоянно равен 1 секунде (уже моя ошибка). не применялись настройки. отсюда постоянное сканирование процессов (весьма трудоемкий для цп процесс)