Форум: "Начинающим";
Текущий архив: 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.054 c