Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

не назначена картинка в TImage   Найти похожие ветки 

 
creative   (2006-03-31 13:10) [0]

есть компонент TImage  в который при нажатии кнопки загружается картинка из файла.
Вопрос простой: как сформулировать условие "если картинка в TImage не была загружена"?


 
Ega23 ©   (2006-03-31 13:21) [1]

if not Assigned(Image1.Picture)?


 
Creative   (2006-03-31 13:29) [2]

не подходит. отладчик пишет, что assigned


 
Ega23 ©   (2006-03-31 13:32) [3]

Тогда Image1.Picture.Bitmap


 
Плохиш ©   (2006-03-31 13:34) [4]

Image1.Picture.Bitmap.Empty


 
Creative   (2006-03-31 13:36) [5]

Перефразирую вопрос: какая операция должня предшествовать такой проверке? Если я делаю TImage.Picture.Free или TImage.Picture.Bitmap.Free - программа вылетает. А если не делать ничего - программа конечо думает, что в TImage всегда что то назначено


 
Johnmen ©   (2006-03-31 13:41) [6]

Уже сказали. Поправка
Image1.Picture.Graphic.Empty


 
Creative   (2006-03-31 13:42) [7]

На всякий случай объясняю, что мне нужно: у меня есть форма, в которой создаются оъекты. Там есть несколько текстовых полей и компонент TImage для выбора картинки будущего объекта. Я хочу поставить запреты на недозаполнение формы. С текстовами полями все нормально, а вот как очистить TImage после создания предыдущего объекта - не понимаю. :-(


 
Johnmen ©   (2006-03-31 13:53) [8]

Image1.Picture.Assign(nil);


 
Creative   (2006-03-31 13:55) [9]

> Johnmen ©   (31.03.06 13:41) [6]
> Image1.Picture.Graphic.Empty

это условие. а как выглядит собственно строка, создающая это условие?


 
Creative   (2006-03-31 14:35) [10]

Народ, может это тупой вопрос, но помогите мне, пожалуйста.
Каким бы способом не очищался TImage - все равно при повторном запуске процедуры программа считает, что в Image1.Picture.Graphic и в Image1.Picture и в Image1.Picture.Bitmap что-то назначено и сидит молчит. Хотя должна было бы предупредить юзера, что он не выбрал картинку (эта реакция прописана).
Если приложение только что запущено - все получается правильно и без картинки объект не создается. Но вот со следующим объектом - уже проблема. Из чего делается вывод, что проблема таки кроется в очистке TIImage`а.
Я стараюсь объяснять понятнее, лучше уже не могу.


 
Johnmen ©   (2006-03-31 14:52) [11]


> программа считает
...
Хотя должна было бы предупредить юзера


Ну программа-то твоя, а не наша. Откуда мы знаем, что она считает, а что нет? Что должна, а что не очень?

Так что описывай проблемы понятным языком, с приведением кода...


 
Старик   (2006-03-31 15:22) [12]

Ну и зачем тебе тогда TImage, раз ты не можешь его убить?
Бери TBitmap, грузи в него, чего тбее надо, а в нужные моменты отрисовывай через блиттинг (BitBlt). На форме просто делаешь if PtInRect(Rect, Cursor) таким образом ты отслеживаешь, в твоей ли картинке находится курсор.
А когда надо его грохнуть, делай FreeAndNil и проверяй if Assigned.
Чего гемор-то разводить с этими TImage и прочей фигней?!


 
Creative   (2006-03-31 15:35) [13]

> Старик   (31.03.06 15:22) [12]

> Бери TBitmap, грузи в него, чего тбее надо, а в нужные моменты
> отрисовывай через блиттинг (BitBlt).

А почему не Canvas.Draw? мне его целиком надо рисовать, а не нужные моменты :-)


 
Старик   (2006-03-31 16:06) [14]

Да потому что Draw - это обертка над блиттингом. а я не люблю обертки и, по возможности, стараюсь избегать их использовать. впрочем, мое дело тебе реешние дать, а остальное - твои проблемы.
Те же TFileStream"ы, например - ну гемор гемором.
Лучше уж напрямую FileRead/FileWrite.
и потом - где я заставил тебя отрисовывать именно моменты? рисуй все, что нужно.


 
Johnmen ©   (2006-03-31 16:11) [15]


> Старик   (31.03.06 16:06) [14]


Ты просто не умеешь их готовить (с) И не только их...


 
Creative   (2006-03-31 16:21) [16]

> Старик   (31.03.06 16:06) [14]
>мое дело тебе реешние дать, а остальное - твои
> проблемы.

пожалуйста, не сердитесь. мне просто было интересно, почему выдали такое решение.

и спасибо вам большое - проблема решилась.



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.039 c
6-1136202876
system
2006-01-02 14:54
2006.04.16
Конвертироват KOI-8 R вида =D7=D3=C5 в WIN


1-1142254492
Nibbler
2006-03-13 15:54
2006.04.16
Работа с содержимым ScrollBox


15-1143440326
Ega23
2006-03-27 10:18
2006.04.16
С Днём рождения! 25 марта


4-1138127656
medvedenator
2006-01-24 21:34
2006.04.16
Запуск программы от имени администратора


2-1143750221
serko
2006-03-31 00:23
2006.04.16
Второй экземпляр проги!