Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2013, 16:18   #1
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
Злость Непонятная ошибка! Delphi

Есть код загрузки изоброжения в TImage
Код:
BackGround.Picture.LoadFromFile(txtr+'sun'+CurSunState+Exp);
BackGroundTemp.Picture.LoadFromFile(txtr+'sun'+NextSunState+Exp);
где txtr, CurSunState и Exp уже определены. Есть Диалог открытия файла
Код:
if Sender = SetSound then if ChsAlarm.Execute = True then AlarmS:=ChsAlarm.FileName;
и есть кусок кода в котором задаются стартовые параметры ChsAlarm (диалога)
Код:
  ChsAlarm:=TOpenDialog.Create(Self);
  ChsAlarm.Filter:='Звуковой файл Wav|*.wav';
  ChsAlarm.InitialDir:=sndDef;
  ChsAlarm.Title:='Выбор Файла';
  ChsAlarm.FilterIndex:=1;
  ChsAlarm.FileName:='01.wav';
где sndDef уже тоже определена. Вообще sndDef, txtr, Exp являются константами. При открытии диалога все идет нормально до тех пор пока я не вхожу на диск D, на котором хранятся файлы проги. А если задать sndDef директорию 'sounds\' что находится в одном каталоге с exe-шником ну или как сказал ранее на диск D то прога выдает ошибку(смотри скрин). В ЧЕМ ПРОБЛЕМА НЕ ПОЙМУ. но меняется путь к самой проге: т.е. если изначально он равен положению exe-шника (D:\MyPrograms\Delphi7\Project\) то при заходе в любое место на диске D он меняется на путь из opendialog.filename(D:\Program Files\...)

Как избавится от этой ошибки?!!!
Изображения
Тип файла: jpg error 1.jpg (39.1 Кб, 28 просмотров)

Последний раз редактировалось Xaker_Two; 08.09.2013 в 16:37.
Xaker_Two вне форума Ответить с цитированием
Старый 08.09.2013, 17:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как избавится от этой ошибки?
Проверить все ли символы в пути совпадают с символами в строке пути к файлу, передаваемой в функцию загрузки. Бывает что символ из другой раскладки затесался.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.09.2013, 18:39   #3
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
Радость

Насчет другог символа бред т.к. OpenDialog задействуется не сразу а вот обновляются картинки регулярно раз в пол секунды. И плюс в ошибке явно текущим местоположением Exe указана последняя папка в которую я заходил. На самом деле я разобрался и прикол был в том что CurrentDir при использовании OpenDialog принимает значение OpenDialog.FileName и при том его использует и вся программа(CurrentDir). Так что единственное простое решение это в самом начале записать в переменную String значение CurrentDir+'\'. А затем подставлять её в самом начале где необходимо! Собственно говоря проблему я так и решил)
Xaker_Two вне форума Ответить с цитированием
Старый 08.09.2013, 19:15   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Код:
ChsAlarm:=TOpenDialog.Create(Self);
ChsAlarm.Options:=ChsAlarm.Options+[ofNoChangeDir];
northener вне форума Ответить с цитированием
Старый 08.09.2013, 21:46   #5
Xaker_Two
Пользователь
 
Регистрация: 03.02.2013
Сообщений: 73
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Код:
ChsAlarm.Options+[ofNoChangeDir];
спасибо надо будет детальней разобраться с его опциями и процедурами. По сути я его раз 2 использую)
Xaker_Two вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная ошибка flance Общие вопросы C/C++ 5 21.04.2013 21:25
Непонятная ошибка stalker1995s Общие вопросы Delphi 2 31.03.2013 23:57
Непонятная ошибка Jamguranga Visual C++ 2 20.02.2013 20:23
Непонятная ошибка в С++ viron Помощь студентам 1 21.01.2012 20:34
Непонятная ошибка Slash Общие вопросы Delphi 6 19.06.2007 14:45