for I:=0 to vValues.Count-1 do
      acd:=vValues.Values[vValues.Names[I]];
这句得到只是最后一个黑名单
你的循环只是不停修改acd