Неработающий фрагмент кода в студию вместе с ответами на вопросы:
— Не битый ли битмап? Открывается ли он нормально, скажем, в Paint-е?
— Если создать тривиальный проект, бросив на форму TImage и TButton, прописав на OnClick TButton-у тот самый LoadFromFile — тоже валится? Это позволит выявить, виновата ли Delphi или же это твой рабочий проект чудит.
— Трассировался ли исходный код TBitmap-а (включался ли "Use debug DCU" на закладке "Compiler" проекта)? Если да, на каком месте он валится?
— Что означает "Я уже и потоками пробовал"? Как это выглядело?
— Какие еще меры принимались по нахождению причины?
Здравствуйте, Sergey Ten, Вы писали:
ST>Неработающий фрагмент кода в студию вместе с ответами на вопросы:
Да, собственно, весь код и состоит из одной строки.
Image.Picture.LoadFromFile('d:\img.bmp');
ST>- Не битый ли битмап? Открывается ли он нормально, скажем, в Paint-е?
Файл открывается любым граф.редактором.
ST>- Если создать тривиальный проект, бросив на форму TImage и TButton, прописав на OnClick TButton-у тот самый LoadFromFile — тоже валится? Это позволит выявить, виновата ли Delphi или же это твой рабочий проект чудит.
Как раз так и сделан проект (я пока только пробую).
ST>- Трассировался ли исходный код TBitmap-а (включался ли "Use debug DCU" на закладке "Compiler" проекта)? Если да, на каком месте он валится?
Дальше не смотрел — там ассемблерный код.
ST>- Что означает "Я уже и потоками пробовал"? Как это выглядело?
FileStream.Create(MyFileName);
Image.Picture.BitMap.LoadFromStream(FileStream);
ST>- Какие еще меры принимались по нахождению причины?
Все. А больше просто не знаю куда копать...
ST>http://rsdn.ru/howtoask.htm
А под чем не работает? Операционка, видеоадаптер, разрешение экрана, количество цветов? И что будет, если поиграться с разрешением и количеством цветов?
В общем, ясно, что проблема не в коде. И то счастье
Здравствуйте, Sergey Ten, Вы писали:
ST>Здравствуйте, Callisto, Вы писали:
ST> C>>А под Win98 все работает на ура!
ST>А под чем не работает? Операционка, видеоадаптер, разрешение экрана, количество цветов? И что будет, если поиграться с разрешением и количеством цветов?
OS — Win2k(prof) (на компе 2 ОС [на разных разделах HDD] — 98, 2000)
ATI Rage 128 Ultra
1024x768
HighColor (16 бит)
Здравствуйте, Sergey Ten, Вы писали:
ST>А на машине с Win98? И сколько цветов у открываемого битмапа? Пробовал открывать какой-нибудь другой, например, простой 16-цветный?
рисунок черно-белый — 35к.
ST>И еще интересно — загружается ли этот битмап в design-time? Ну то есть если в Object Inspector-е кликнуть на свойство Picture и сказать "Load"?
Здравствуйте, Callisto, Вы писали:
ST>>И еще интересно — загружается ли этот битмап в design-time?
C>грузится.
"Ничего не понимаю". Нашел два похожих случая, оба без ответов. Можно, как жест отчаяния, попробовать создать объект типа TBitmap без TImage, и посмотреть, как он себя поведет. Если поведет хорошо — попробовать присвоить его свойству Picture, или, если там уже что-то TBitmap-ное есть, сделать Assign. Если раскопаешь, дай знать, интересно.
Мне собственно надо было грузить/выгружать картинку в/из БД.
Не хотел при этом пользовать открытый DataSet.
Но... пришлось.
В связке DataSet + TDBImage — все работает без проблем.
А с простым TImage — непонятные глюки !!!