Помогите разобраться с LazarusResources

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Помогите разобраться с LazarusResources

Сообщение NEOSoftWare » 03.06.2008 18:20:29

Создаю ресурс
Код: Выделить всё
LazarusResources.Add('wm','BMP',[
  'BM6E'#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#255#0#0#0#23#0#0#0#1#0#24#0#0#0#0#0#0'E'
  +#0#0#19#11#0#0#19#11#0#0#0#0#0#0#0#0#0#0'V'#23#18'V'#23#18'V'#23#18'X'#23#18
  +'X'#23#18'X'#23#18'Z'#24#18'Z'#24#18'Y'#24#19'Z'#24#18'Z'#24#18'['#25#19'['
  +#25#19'\'#24#18'\'#24#18'\'#24#18']'#25#19']'#25#19']'#25#19'_'#25#19'_'#25
  +#19'_'#25#19'_'#25#19'_'#25#19'`'#26#20'`'#26#20'`'#26#20'b'#26#20'b'
.........]);
for i := 0 to LazarusResources.Count-1 do
     writeln('Num: ',i,', name: ',LazarusResources.Items[1].Name);

В итоге получаю
Код: Выделить всё
[size=85]Num: 0, name: cur_10
Num: 1, name: cur_10
Num: 2, name: cur_10
Num: 3, name: cur_10
Num: 4, name: cur_10
Num: 5, name: cur_10
Num: 6, name: cur_10
Num: 7, name: cur_10
Num: 8, name: cur_10
Num: 9, name: cur_10
Num: 10, name: cur_10
Num: 11, name: cur_10
Num: 12, name: cur_10
Num: 13, name: cur_10
Num: 14, name: cur_10
Num: 15, name: cur_10
Num: 16, name: cur_10
Num: 17, name: cur_10
Num: 18, name: cur_10
Num: 19, name: cur_10
Num: 20, name: cur_10
Num: 21, name: cur_10
Num: 22, name: cur_10
Num: 23, name: cur_10
Num: 24, name: cur_10
Num: 25, name: cur_10
Num: 26, name: cur_10
Num: 27, name: cur_10
Num: 28, name: cur_10
Num: 29, name: cur_10
Num: 30, name: cur_10
Num: 31, name: cur_10
Num: 32, name: cur_10
Num: 33, name: cur_10
Num: 34, name: cur_10
Num: 35, name: cur_10
Num: 36, name: cur_10
Num: 37, name: cur_10
Num: 38, name: cur_10
Num: 39, name: cur_10
Num: 40, name: cur_10
Num: 41, name: cur_10
Count: 42[/size]

А куда делся мой ресурс 'wm' ?
при вызове
Код: Выделить всё
LoadBitmapFromLazarusResource('wm');

получаю ошибку
Project raised exception class 'External: SIGSEGV'.
NEOSoftWare
незнакомец
 
Сообщения: 6
Зарегистрирован: 22.03.2008 01:13:57

Re: Помогите разобраться с LazarusResources

Сообщение Павел Ишенин » 04.06.2008 03:02:47

А почему
LazarusResources.Items[1].Name
вместо
LazarusResources.Items[i].Name
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Помогите разобраться с LazarusResources

Сообщение Troublemaker » 04.06.2008 04:16:02

Павел Ишенин писал(а):.Items[1].Name

Во-во! Сам на такие же грабли недавно наступил, хотя и вне связи с ресурсами. Долго недоумевал, уже начал сюда писать и только вставив код, в предпросмотре разглядел, что вместо i использую единицу.
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Помогите разобраться с LazarusResources

Сообщение NEOSoftWare » 04.06.2008 19:41:45

ну это косяк я уже заметил, дело в тм что если использовать ресурсы сохраненные как в BMP , то при загрузке процедуры
Код: Выделить всё
LoadBitmapFromLazarusResource('wm');

выдает все туже ошибку
Код: Выделить всё
Project raised exception class 'External: SIGSEGV'.

А если загрузить в ресурсы PNG , то ошибка не появляеться но почемуто изоброжение всерон не загружаеться
Код: Выделить всё
var b: TBitmap;]
begin
b:= Tbitmap.Create();
b.LoadBitmapFromLazarusResource('wm'); //wm  есть как  ValueType = PNG
writeln ('w: ',b.Wigth); // выводит w: 0
NEOSoftWare
незнакомец
 
Сообщения: 6
Зарегистрирован: 22.03.2008 01:13:57

Re: Помогите разобраться с LazarusResources

Сообщение NEOSoftWare » 08.06.2008 20:33:27

походу дела проблема не с ресурсами и в том что в консольной программи вообще не как не загрузить изображение в битмап :(
NEOSoftWare
незнакомец
 
Сообщения: 6
Зарегистрирован: 22.03.2008 01:13:57

Re: Помогите разобраться с LazarusResources

Сообщение Павел Ишенин » 09.06.2008 04:50:37

Надо подключить модуль Interfaces, и возможно вызвать Application.Initialize.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50

Рейтинг@Mail.ru