Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
1:04:2008, 07:34
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Delphi 2007
Почему не работает код? Код procedure q;
var Img: TBitmap; begin Img:= TBitmap.Create; Img.Handle := LoadBitmap(HInstance,'1'); Form1.Image1.Canvas.Draw(0, 0, Img); Img.Free; end; |
|
Сообщение
#1
|
|
![]() |
|
|
1:04:2008, 07:38
|
|
очень злой модератор ![]() ![]() ![]() ![]() ![]() Группа: Lotus team Сообщений: 2 666 Регистрация: 7:08:2006 Из: Украина, Киев Пользователь №: 5 807 Специализация: разработчик всякой хрени Репутация: 46
|
|
|
Сообщение
#2
|
|
|
|
1:04:2008, 07:42
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Да
|
|
Сообщение
#3
|
|
|
|
1:04:2008, 07:47
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
|
|
Сообщение
#4
|
|
|
|
1:04:2008, 07:53
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Че такое "валиден"
|
|
Сообщение
#5
|
|
|
|
1:04:2008, 08:06
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
valid (англ.) - действительный, т.е. правильно установлен? Почему на NULL не проверяете его?
а, вот оно что... HInstance в Delphi глобален. Тогда вопрос отпадает... Но в отладочных целях на 0 можно проверить. Что возвращает LoadBitmap? |
|
Сообщение
#6
|
|
|
|
1:04:2008, 08:08
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Правильный он
|
|
Сообщение
#7
|
|
|
|
1:04:2008, 08:10
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
|
|
Сообщение
#8
|
|
|
|
1:04:2008, 08:15
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
как узнать?
|
|
Сообщение
#9
|
|
|
|
1:04:2008, 08:16
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 816 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Специализация: C++ Репутация: 31
|
В отладке поставить точку останова и посмотреть
|
|
Сообщение
#10
|
|
|
|
1:04:2008, 08:19
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Точку поставил, а как посмотреть?
|
|
Сообщение
#11
|
|
|
|
1:04:2008, 11:09
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Кие ваще картинки могут быть в ресурсе, чеб их так использовать?
|
|
Сообщение
#12
|
|
|
|
1:04:2008, 11:57
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
|
|
Сообщение
#13
|
|
|
|
1:04:2008, 12:15
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Код procedure q; var Img: TBitmap; begin Img:= TBitmap.Create; Img.Handle := LoadBitmap(HInstance,'1'); Form1.Image1.Canvas.Draw(0, 0, Img); Img.Free; end; Процедура не находится в модуле с формой. Вызывается из модуля с формой событием Button1Click. Ресурс включен в модуль с процедурой. Image окрашивается в белый, картинки нет! Почему не работает? |
|
Сообщение
#14
|
|
|
|
1:04:2008, 17:19
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
пробуйте название ресурсу дать какое нибудь "нормальное", ну типа "MYBITMAP"
и пробуйте вот так : Img.LoadFromResourceName(HInstance, "MYBITMAP") // имя именно в uppercase |
|
Сообщение
#15
|
|
|
|
1:04:2008, 23:22
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
А имя было нормальное "Shadow.res".
'1' (В коде) - название картинки в ресурсе. Если написать так Img.LoadFromResourceName(HInstance, "MYBITMAP") выдает ошибку [DCC Error] Unit2.pas(22): E2038 Illegal character in input file: '"' (#$22) Если написать так Img.LoadFromResourceName(HInstance, 'MYBITMAP'), говорит, че не находит моего ресурса. |
|
Сообщение
#16
|
|
|
|
2:04:2008, 05:43
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
ProgeRock
С кавычками это я ошибся, естественно в Delphi одиночные ... переключение с другого языка понимаете ли Название надо дать и в файле ресурсов и в процедуре одинаковое (но не '1', тут есть проблемма с этим). |
|
Сообщение
#17
|
|
|
|
2:04:2008, 06:27
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Это в смысле файл ресурса называется MYBITMAP.res, так пробовал, не сработало.
У меня в ресурсе несколько картинок, как же тогда таким методом обращаться к конкретной? |
|
Сообщение
#18
|
|
|
|
2:04:2008, 06:33
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Нет файл ресурсов такой (примерно):
blabla.rc Код ZZ BITMAP MyBitmap.bmp компилируете его, и получаетете к примеру blabla.res подключаете {$R blabla.res} потом в процедуре img.LoadFromResourceName(HInstance, 'ZZ'); |
|
Сообщение
#19
|
|
|
|
2:04:2008, 06:52
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
Говорит что не видит ресурса, что в ' '
|
|
Сообщение
#20
|
|
|
|
2:04:2008, 07:01
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Кто говорит? Вы когда научитесь правильно изъясняться? тут же не телепаты
|
|
Сообщение
#21
|
|
|
|
2:04:2008, 07:04
|
|
Новенький ![]() Группа: Программист Сообщений: 44 Регистрация: 12:03:2008 Пользователь №: 15 803 Репутация: 0
|
AUCH, не увидел деталь в ресурсе (BITMAP), сработало, спасиба.
|
|
Сообщение
#22
|
|
|
|
2:04:2008, 07:08
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
вам надо почитать вот это: http://www.ln.ua/~openxs/articles/smart-questions-ru.html
|
|
Сообщение
#23
|
|
![]() |