Показать сообщение отдельно
  #7  
Старый 22.12.2015, 20:21
Аватар для Speech
Speech Speech вне форума
Новичок
 
Регистрация: 16.02.2012
Сообщения: 55
Репутация: 10
По умолчанию

Проблема решена.

Процедура подгружала файлы из папки в корне программы.
Загрузка данных в ListBox осуществлялась через OpenDialog из соседней папки также в корне программы.
Но при использовании повторно SomeProcedure путь к файлам искажался.

Если для начала достаточно было написать
Код:
If FileExists('Avatars\' + Data1 + '.jpg') then
        Form1.Image1.Picture.LoadFromFile('Avatars\' + Data1 + '.jpg');
То после загрузки данных из папки "Saves" путь к файлам преобразовывался в вид "Saves\Avatars".
Проблема решена вот таким пустяком.
Код:
If FileExists(ExtractFilePath(Application.ExeName) + 'Avatars\' + Data1 + '.jpg') then
        Form1.Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Avatars\' + Data1 + '.jpg');
Но для меня по прежнему осталось загадкой - каким боком где-то в памяти остался путь к папке "Saves", когда он вообще использовался в OpenDialog? И почему в отладчике просто пропускало данную процедуру, даже не пытаясь что-то там обработать?
Ведь если бы отладчик показал изначально неверный путь к файлу - проблему нашел бы сразу, и не пришлось бы создавать тему на форуме.
Ответить с цитированием