Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Вниз

не назначена картинка в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.062 c
15-1142938271
Некто
2006-03-21 13:51
2006.04.16
ГОСТ техническое задание


2-1143934662
Mad_Bob
2006-04-02 03:37
2006.04.16
Интернет и Delphi


4-1138348951
maxim161
2006-01-27 11:02
2006.04.16
Сервис и форма


2-1143658583
Leshas
2006-03-29 22:56
2006.04.16
TabControl - поместить элементы на разные вкладки


2-1143713073
SeZu
2006-03-30 14:04
2006.04.16
Транзакции





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский