Вверх ↑
Разработчик
Ответов: 26315
Рейтинг: 2146
#1: 2011-11-20 12:06:57 ЛС | профиль | цитата
1nd1g0 писал(а):
Интересно узнать подробности

Ошибка крылась в функции DisplayName, вот в этом месте


  if Pos('(', Result) <> 0 then
SetLength(Result, Pos('(', Result) - 2);

Дело в это, что по непонятной причине, на разных системах, по-разному представлена строка отображения устройства.
У CriDos-а она имеет структуру --


(A:) Дисковод
а у меня


Дисковод (A:)
Естественно, что у CriDos-а, вышепреведенная часть формулы выдаст ошибку, тк длина строки станет отрицательной
карма: 22

1
Голосовали:ser_davkin