Автор Тема: Delphi 7. Загрузка изображения в TImage  (Прочитано 3579 раз)

Оффлайн Enstain

  • Снова в МБ
  • Moderator
  • Студент
  • *****
  • Сообщений: 363
  • Репутация: 35
  • Альберт Фрейд
    • NBM company
Delphi 7. Загрузка изображения в TImage
« : 10 Января 2008, 16:46:40 »
Есть INI-файл, где записан адрес картинки. Адрес стопудовый, ибо берётся он из OpenPictureDialog.FileName - с ним не поспоришь.
Считываю в строковую переменную. На форме уже есть компонент TImage.

Всё внимание на строчки:
avatar:=account.ReadString('main','picture',avatar);
Photo.Picture.LoadFromFile(avatar);

Вот вам значение переменной avatar - 'D:\GordonFreeman.jpg'Во время загрузки картинки в TImage прога останавливается и выдаёт сообщение: "Unknown picture file extension (.)". Я так понимаю, что формат картинки определяется как точка. Или может я изначально действую неправильно. Есть какие-то другие способы загрузки картинки?
E=mc2. Pee on me, people!
Почётный участник сообщества "I <3 GLScene"

Оффлайн Nik

  • Главред
  • Administrator
  • Кандидат IT-наук
  • *****
  • Сообщений: 3316
  • Репутация: 726
  • Мастер-арфист
    • "Новый Мегабайт"
Delphi 7. Загрузка изображения в TImage
« Ответ #1 : 10 Января 2008, 19:55:54 »
Для начала проверь, правильное ли значение лежит в переменной avatar на момент загрузки картинки. Также убедись, что в разделе uses подключен модуль Jpeg (без него TImage с jpg-файлами работать не будет).
И время всякому делу под небесами...

Оффлайн Enstain

  • Снова в МБ
  • Moderator
  • Студент
  • *****
  • Сообщений: 363
  • Репутация: 35
  • Альберт Фрейд
    • NBM company
Re: Delphi 7. Загрузка изображения в TImage
« Ответ #2 : 11 Января 2008, 15:27:01 »
Тупо запрашивал несуществующий INI-файл. Кстати, вот вам скрин из папки "No comment"
E=mc2. Pee on me, people!
Почётный участник сообщества "I <3 GLScene"

Оффлайн Nik

  • Главред
  • Administrator
  • Кандидат IT-наук
  • *****
  • Сообщений: 3316
  • Репутация: 726
  • Мастер-арфист
    • "Новый Мегабайт"
Delphi 7. Загрузка изображения в TImage
« Ответ #3 : 11 Января 2008, 19:16:58 »
Привыкай вставлять в код обработчики ошибок. Проверять нужно любую получаемую из вне информацию - существование открываемых пограммой файлов (выполнять операцию над файлом только если операция if FileExists(FileName) вернёт true), значения введённые пользователем данных и т.п.
И время всякому делу под небесами...

Оффлайн yosemity

  • Модератор
  • Дипломированный IT-шник
  • *****
  • Сообщений: 874
  • Репутация: 23
  • Люк, я твой отец...
Delphi 7. Загрузка изображения в TImage
« Ответ #4 : 22 Января 2008, 10:44:17 »
А еще лучше исключительные ситуации, все равно код ошибки возвращает, т.е. можно делать нормальные информационные сообщения, о той, или иной проблеме.
А вы пробовали выключить и снова включить?
Блог ИТ Отдела - http://it.rpkkirov.ru

Оффлайн Nik

  • Главред
  • Administrator
  • Кандидат IT-наук
  • *****
  • Сообщений: 3316
  • Репутация: 726
  • Мастер-арфист
    • "Новый Мегабайт"
Delphi 7. Загрузка изображения в TImage
« Ответ #5 : 22 Января 2008, 16:34:41 »
yosemity
 Конечно, нормальная обработка исключений никогда лишней не будет.

Enstain
 Используй конструкции try..except
И время всякому делу под небесами...

Оффлайн Enstain

  • Снова в МБ
  • Moderator
  • Студент
  • *****
  • Сообщений: 363
  • Репутация: 35
  • Альберт Фрейд
    • NBM company
Re: Delphi 7. Загрузка изображения в TImage
« Ответ #6 : 22 Января 2008, 20:04:25 »
Thanks чО! Ы, обожаю, когда поднимают какую-нидь мою древнюю тему))
E=mc2. Pee on me, people!
Почётный участник сообщества "I <3 GLScene"