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

Вниз

ресурс   Найти похожие ветки 

 
alshtam ©   (2007-09-24 15:38) [0]

положил в res файл bmp и png,bmp читает, а при попытке прочитать png ресурс мне возвращается ошибка что таккого ресурса нет что не так?
считываю  ресурс так:
{$R Sk.res}
....
...
var
 btnLoadOff:Tpngobject;
begin
btnLoadOff:=LoadFromResourceName(hInstance,"КНОПКА_НЕ_НАЖАТА");


 
Anatoly Podgoretsky ©   (2007-09-24 16:05) [1]

> alshtam  (24.09.2007 15:38:00)  [0]

А какое имя у БМП ресурса


 
Вася Правильный   (2007-09-24 16:13) [2]


> Tpngobject;

это что?


 
Anatoly Podgoretsky ©   (2007-09-24 16:39) [3]

Посторонний компонент, но к вопросу это отношения не имеет.


 
Gydvin ©   (2007-09-24 17:33) [4]

Мало информации. Выложите здесь обгрызок рес файла и процедуру чтения ресурса полностью


 
alshtam ©   (2007-09-25 07:16) [5]


> А какое имя у БМП ресурса

имена руские и англиские так как brcc32.exe коверкает руские имена для сборки ресурса использовал Restorator, он отсортировал файлы в ресурсе по расширениям.
попробовал также сложить все в RCDATA с помощью того же restorator сделал сначала rc файл затем в подправил в блокноте (чтоб все попало в RCDATA) и сформировал res, но результат остался прежним


 
alshtam ©   (2007-09-25 07:22) [6]


> Мало информации. Выложите здесь обгрызок рес файла и процедуру
> чтения ресурса полностью

ну собственно это все что есть,
я проверил LoadFromResourceName в конце концов сводится к
TResourceStream.Create(Instance, Name, RT_RCDATA);
который возвращает 0 если ресурса нет, но он точно есть!
в качестве обгрызка че выложить шеснатеричный код?


 
alshtam ©   (2007-09-25 07:24) [7]

procedure TLoad.FormShow(Sender: TObject);
var
 v:TResourceStream;
begin
 //загрузка окна загрузки
 start:=false;
 bigbtn:=false;
 btnLoadOff:=TpngObject.Create;

 btnLoadOff:=LoadFromResourceName(hInstance,"1_");

 btn.Left:=(width-btnLoadOff.Width)div 2;
 btn.Top:=(height-btnLoadOff.Height)div 2;

 btn.Width:=btnLoadOff.Width;
 btn.Height:=btnLoadOff.Height;

 setnulParam;
end;


 
Gydvin ©   (2007-09-25 07:25) [8]

Сорри *.rc файла


 
alshtam ©   (2007-09-25 07:28) [9]

3 RCDATA "3.png"

4 RCDATA "4.png"

5 RCDATA "5.png"

6 RCDATA "6.png"

7 RCDATA "7.png"

8 RCDATA "8.png"

9 RCDATA "9.png"

// --------- resources of type SWF -----------

LOGO_6VER RCDATA "LOGO_6VER.swf"

// --------- resources of type RCDATA -----------

DOWNBODI RCDATA "DOWNBODI.bmp"

HOT_KEY RCDATA "HOT_KEY.bmp"

HOT_KEY_MASK RCDATA "HOT_KEY_MASK.bmp"

INFO RCDATA "INFO.bmp"


 
Gydvin ©   (2007-09-25 07:29) [10]

А зачем тут тогда

> var
>  v:TResourceStream;


 
alshtam ©   (2007-09-25 07:31) [11]

да эксперементы ставил осталоссь, извиняюсь, не выкидывал мусор прям как есть сейчас дал, она не должна играть роли щас


 
alshtam ©   (2007-09-25 07:32) [12]

пробовал через поток загрузить


 
Gydvin ©   (2007-09-25 07:34) [13]

Затем

btnLoadOff:=LoadFromResourceName(hInstance,"1_");

Что это за странное приравнивание, и что это за имя?


 
alshtam ©   (2007-09-25 07:36) [14]

имя ресуса, я ведь не полный rc файл дал,
почему присваивание странное? что не так?


 
alshtam ©   (2007-09-25 07:39) [15]

я понимаю что гдето сделал ошибку но где понять не могу!


 
Gydvin ©   (2007-09-25 07:39) [16]

Затем с чего ты заключил, что LoadFromResourceName это функция и она вернет result? Если это проседура. Эта не идет отдельно, она идет в составе какого либо класса например Tbitmap. См. Справку

procedure TForm1.Button1Click(Sender: TObject);

var
BitMap1 : TBitMap;
begin
 BitMap1 := TBitMap.Create;
 try
  BitMap1.LoadFromResourceName(HInstance,"THEBITMAP");
   Canvas.Draw(12,12,BitMap1);
 finally
   BitMap1.Free;
 end;
end;


В составе TpngObject есть LoadFromResourceName ?


 
Gydvin ©   (2007-09-25 07:42) [17]

Я не юзал TpngObject но там должен быть loadfromstream. Есть?


 
alshtam ©   (2007-09-25 07:43) [18]

ой , извиняюсь, не прав


 
alshtam ©   (2007-09-25 07:43) [19]

да есть, там все тоже самое


 
alshtam ©   (2007-09-25 07:48) [20]

подправил теперь так:
 btnLoadOff.LoadFromResourceName(hInstance,"ADDRON");
но все равно не находит ресурс
подозреваю оно так и было до моих экспериментов, просто ошибся ведь bmp то читает!


 
Gydvin ©   (2007-09-25 07:48) [21]

что тоже самое? loadfromstream или LoadFromResourceName


 
Gydvin ©   (2007-09-25 07:49) [22]

а loadfromstream есть?


 
alshtam ©   (2007-09-25 07:51) [23]

есть  loadfromstream, есть LoadFromResourceName
спотыкается
внутри модуля Tpngobject на строке

try ResStream := TResourceStream.Create(Instance, Name, RT_RCDATA);


 
Gydvin ©   (2007-09-25 07:58) [24]

Угу попробуй так

//Чуть адаптировал свой старый код

//.rs

1  RCDATA  "Initiz.png"
2  RCDATA  "Puls.png"

...
var
 ResStream: TResourceStream;
btnLoadOff:TpngObject;
...
btnLoadOff:=TpngObject.Create;
 try
   ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
  btnLoadOff.loadfromstream(ResStream);
 finally
   ResStream.Free;
 end;
btnLoadOff.free;
...


Канает?


 
alshtam ©   (2007-09-25 08:10) [25]

странно как то надо сказать что этот код распологается в Onshow окна и на ваш код онругается что нельзя управлять visible окна в onshow.
бред..
попробую в другое место прописать тоже


 
Gydvin ©   (2007-09-25 08:12) [26]

Лучше создать новый проект и пробовать там (мало ли чего в старом понаписано)


 
alshtam ©   (2007-09-25 08:23) [27]

ну говорит что heder файла поврежден


 
Gydvin ©   (2007-09-25 08:32) [28]

var
 Form1: TForm1;

implementation

{$R *.dfm}
{$R rec.RES}
Это есть? Только нужно свое имя рес файла


 
alshtam ©   (2007-09-25 08:38) [29]

да это есть


 
alshtam ©   (2007-09-25 08:45) [30]

работает спасибо, почему не работало пока не знаю, я выкинул из ресурсника все кроме ресурсов названия которых цифры, и заработало, спасибо!!!


 
Gydvin ©   (2007-09-25 08:56) [31]

Скинь мне на почту юниту с этим классом


 
alshtam ©   (2007-09-25 08:58) [32]

Tpngobject?


 
alshtam ©   (2007-09-25 09:01) [33]

лови


 
Gydvin ©   (2007-09-25 09:16) [34]


> alshtam ©   (25.09.07 09:01) [33]
> лови

Ок, спасибо



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

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

Наверх




Память: 0.54 MB
Время: 0.022 c
1-1184482205
atruhin
2007-07-15 10:50
2007.10.21
Cannot access package information


1-1186239017
Вопрошающий
2007-08-04 18:50
2007.10.21
Насколько важно именовать...


1-1186143811
race1
2007-08-03 16:23
2007.10.21
"Освобождение структуры"


4-1177071590
cvv
2007-04-20 16:19
2007.10.21
GetPrinter


15-1190201963
Kerk
2007-09-19 15:39
2007.10.21
Относится ко многим веткам