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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.046 c
15-1190385700
Windows_XP
2007-09-21 18:41
2007.10.21
Легально ли использовать Windows XP Home Edition в комерческих целях?


2-1191228928
F@T@L_Err0r
2007-10-01 12:55
2007.10.21
Завершение работы windows


2-1191158146
alex_ant
2007-09-30 17:15
2007.10.21
Унифицированный способ сравнивать массивы?


2-1190890507
l_v
2007-09-27 14:55
2007.10.21
Сообщения другим приложениям


2-1191234035
F@T@L_Err0r
2007-10-01 14:20
2007.10.21
TServerSoker и TClientSoker





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский