Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Картинка из ресурса
ProgeRock
Вставить ник
сообщение 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 - 22)
Morpheus
Вставить ник
сообщение 1:04:2008, 07:38
Цитата Ответить 


очень злой модератор
*****

Группа: Lotus team
Сообщений: 2 666
Регистрация: 7:08:2006
Из: Украина, Киев
Пользователь №: 5 807
Специализация: разработчик всякой хрени



Репутация: - 46 +


а ресурс залинкован?

ознакомтесь
Подняться вверх 
 
Сообщение #2
ProgeRock
Вставить ник
сообщение 1:04:2008, 07:42
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


Да
Подняться вверх 
 
Сообщение #3
European
Вставить ник
сообщение 1:04:2008, 07:47
Цитата Ответить 


Божественный
*****

Группа: Модеры
Сообщений: 1 816
Регистрация: 4:09:2006
Из: Минск
Пользователь №: 6 316
Специализация: C++



Репутация: - 31 +


Цитата(ProgeRock @ 1:04:2008 - 09:34) *
Почему не работает код?

Проверять результат функций кто будет? HInstance валиден?
Подняться вверх 
 
Сообщение #4
ProgeRock
Вставить ник
сообщение 1:04:2008, 07:53
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


Че такое "валиден"
Подняться вверх 
 
Сообщение #5
European
Вставить ник
сообщение 1:04:2008, 08:06
Цитата Ответить 


Божественный
*****

Группа: Модеры
Сообщений: 1 816
Регистрация: 4:09:2006
Из: Минск
Пользователь №: 6 316
Специализация: C++



Репутация: - 31 +


valid (англ.) - действительный, т.е. правильно установлен? Почему на NULL не проверяете его?

а, вот оно что... HInstance в Delphi глобален. Тогда вопрос отпадает... Но в отладочных целях на 0 можно проверить.

Что возвращает LoadBitmap?
Подняться вверх 
 
Сообщение #6
ProgeRock
Вставить ник
сообщение 1:04:2008, 08:08
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


Правильный он
Подняться вверх 
 
Сообщение #7
European
Вставить ник
сообщение 1:04:2008, 08:10
Цитата Ответить 


Божественный
*****

Группа: Модеры
Сообщений: 1 816
Регистрация: 4:09:2006
Из: Минск
Пользователь №: 6 316
Специализация: C++



Репутация: - 31 +


Цитата(ProgeRock @ 1:04:2008 - 10:08) *
Правильный он

Хто? Хотите помощи - отвечайте полнее.
Повторю вопрос:
Цитата(European @ 1:04:2008 - 10:06) *
Что возвращает LoadBitmap?

Подняться вверх 
 
Сообщение #8
ProgeRock
Вставить ник
сообщение 1:04:2008, 08:15
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


как узнать?
Подняться вверх 
 
Сообщение #9
European
Вставить ник
сообщение 1:04:2008, 08:16
Цитата Ответить 


Божественный
*****

Группа: Модеры
Сообщений: 1 816
Регистрация: 4:09:2006
Из: Минск
Пользователь №: 6 316
Специализация: C++



Репутация: - 31 +


В отладке поставить точку останова и посмотреть
Подняться вверх 
 
Сообщение #10
ProgeRock
Вставить ник
сообщение 1:04:2008, 08:19
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


Точку поставил, а как посмотреть?
Подняться вверх 
 
Сообщение #11
ProgeRock
Вставить ник
сообщение 1:04:2008, 11:09
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


Кие ваще картинки могут быть в ресурсе, чеб их так использовать?
Подняться вверх 
 
Сообщение #12
sax_ol
Вставить ник
сообщение 1:04:2008, 11:57
Цитата Ответить 


==============
*****

Группа: Модеры
Сообщений: 1 740
Регистрация: 11:01:2007
Пользователь №: 8 750
Специализация: specialist



Репутация: - 27 +


Цитата(ProgeRock @ 1:04:2008 - 09:34) *
Почему не работает код?

ну что это за вопрос? ответ очевиден что-то не то ... пробуйте еще раз спросить, но при этом вспомниить про то как надо спрашивать
Подняться вверх 
 
Сообщение #13
ProgeRock
Вставить ник
сообщение 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
sax_ol
Вставить ник
сообщение 1:04:2008, 17:19
Цитата Ответить 


==============
*****

Группа: Модеры
Сообщений: 1 740
Регистрация: 11:01:2007
Пользователь №: 8 750
Специализация: specialist



Репутация: - 27 +


пробуйте название ресурсу дать какое нибудь "нормальное", ну типа "MYBITMAP"
и пробуйте вот так : Img.LoadFromResourceName(HInstance, "MYBITMAP") // имя именно в uppercase
Подняться вверх 
 
Сообщение #15
ProgeRock
Вставить ник
сообщение 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
sax_ol
Вставить ник
сообщение 2:04:2008, 05:43
Цитата Ответить 


==============
*****

Группа: Модеры
Сообщений: 1 740
Регистрация: 11:01:2007
Пользователь №: 8 750
Специализация: specialist



Репутация: - 27 +


ProgeRock
С кавычками это я ошибся, естественно в Delphi одиночные ... переключение с другого языка понимаете ли sad.gif
Название надо дать и в файле ресурсов и в процедуре одинаковое (но не '1', тут есть проблемма с этим).
Подняться вверх 
 
Сообщение #17
ProgeRock
Вставить ник
сообщение 2:04:2008, 06:27
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


Это в смысле файл ресурса называется MYBITMAP.res, так пробовал, не сработало.
У меня в ресурсе несколько картинок, как же тогда таким методом обращаться к конкретной?
Подняться вверх 
 
Сообщение #18
sax_ol
Вставить ник
сообщение 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
ProgeRock
Вставить ник
сообщение 2:04:2008, 06:52
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


Говорит что не видит ресурса, что в ' '
Подняться вверх 
 
Сообщение #20
sax_ol
Вставить ник
сообщение 2:04:2008, 07:01
Цитата Ответить 


==============
*****

Группа: Модеры
Сообщений: 1 740
Регистрация: 11:01:2007
Пользователь №: 8 750
Специализация: specialist



Репутация: - 27 +


Кто говорит? Вы когда научитесь правильно изъясняться? тут же не телепаты
Подняться вверх 
 
Сообщение #21
ProgeRock
Вставить ник
сообщение 2:04:2008, 07:04
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 44
Регистрация: 12:03:2008
Пользователь №: 15 803



Репутация: - 0 +


AUCH, не увидел деталь в ресурсе (BITMAP), сработало, спасиба.
Подняться вверх 
 
Сообщение #22
sax_ol
Вставить ник
сообщение 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


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись