Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 1.552 pregleda

Najnovija ↓

Linkovanje resourcea u Delphi 7 -- problem 01.02.2025. u 15:03 · pre 21 mesec #1
Napravio sam dve sličice i smestio ih u RC. Taj RC sam kompajlirao u RES. U source sam stavio
Code:
{$R fajl.res}
Potom sam u OnClick stavio sledeće:

Code:

begin
  Image1.Picture.Bitmap.LoadFromResourceName(Hinstance, 'ID_BITMAP1');
  Application.ProcessMessages;
  Sleep(1000);
  Image1.Picture.Bitmap.LoadFromResourceName(Hinstance, 'ID_BITMAP2');
  Application.ProcessMessages;
  Sleep(1000);
end;


Kompajliranje prođe kako treba, ali u izvršavanju izbacuje exception na prvom LoadFromResourceName (tipa da ne može da nađe resurs).

Program je veoma jednostavan, i trebalo bi da izbacuje dve sličice preko Image komponente. Projekat ide uz poruku (bez EXE-a).

Nikako da ukapiram šta mu fali.
Re: Linkovanje resourcea u Delphi 7 -- problem 01.02.2025. u 19:57 · pre 21 mesec #2
Primetio sam jedan problem, ali i kada se on ispravi, opet neće da radi kod mene.
Naime, u rc fajlu piše da su imena bitmapa IDB_BITMAP1 i 2, a u programu ID_BITMAP1 i 2.
U novijim Delphijima postoji neki resource manager, u koji se ubace resursi, dodele se imena i tako radi kod mene.

Inače, kod mene hoće da radi tvoj program ako se resursi pozivaju po ID-u, a ne po imenu. Tačnije, radi sa:
Code:
Image1.Picture.Bitmap.LoadFromResourceID(Hinstance, 1);
Image1.Picture.Bitmap.LoadFromResourceID(Hinstance, 2);
Sviđa mi se1
Re: Linkovanje resourcea u Delphi 7 -- problem 02.02.2025. u 14:01 · pre 21 mesec #3
Citat:
milnen: Primetio sam jedan problem, ali i kada se on ispravi, opet neće da radi kod mene.
Naime, u rc fajlu piše da su imena bitmapa IDB_BITMAP1 i 2, a u programu ID_BITMAP1 i 2.


Eksperimentisao sam sa promenjenim IDB_BITMAP1 u ID_BITMAP1, i obrnuto, ali ista priča: iskompajlira se i pukne u run-timeu.

Citat:
U novijim Delphijima postoji neki resource manager, u koji se ubace resursi, dodele se imena i tako radi kod mene.


Probao sam i tako, ali jednako puca.

Najpre sam radio sa resource editorom iz Borland C++, da bih napravio RC i da bih taj RC kompajlirao u RES. Potom sam koristio Image Editor iz Delphija 7, koji ne ume da napravi RC, ali zato odmah generiše RES (a, koliko sam primetio, može i da učita taj RES), tako da se preskače jedan korak u celoj priči, ali ne radi.

Citat:
Inače, kod mene hoće da radi tvoj program ako se resursi pozivaju po ID-u, a ne po imenu. Tačnije, radi sa:
Code:
Image1.Picture.Bitmap.LoadFromResourceID(Hinstance, 1);
Image1.Picture.Bitmap.LoadFromResourceID(Hinstance, 2);


E, ovo već neće ni da se kompajlira ;) Naime, drugi argument mora da bude String; a ako mu ubaciš IntToStr(1) i IntToStr(2), ponovo zavitlava kao na početku priče.
Re: Linkovanje resourcea u Delphi 7 -- problem 02.02.2025. u 14:06 · pre 21 mesec #4
P. S. Ispravka, radi (i to vrlo lepo): prevideo sam da si stavio funkciju LoadFromResourceID umesto LoadFromResourceName.

Muči me ovaj problem duže vreme, i svašta sam pokušavao da ga rešim. Čini mi se i da sam probao sa LoadFromResourceID, pa da nije radilo. Ipak, na ovaj način radi.

Hvala mnogo :)
Re: Linkovanje resourcea u Delphi 7 -- problem 03.02.2025. u 01:49 · pre 21 mesec #5
> Najpre sam radio sa resource editorom iz Borland C++, da bih napravio RC i da bih taj RC kompajlirao u RES.
> Potom sam koristio Image Editor iz Delphija 7, koji ne ume da napravi RC, ali zato odmah generiše RES (a, koliko sam primetio,

Meni je najlakse bilo to preko bat fajla i komande linije npr.

Fajl Data.rc

FILE1 RCDATA "..\Uputstvo\ReadMe.txt"
imgs32 RCDATA "imgs32.png"
imgsMain RCDATA "imgsMain.png"

Fajl ResCompile.bat (koji pozoves jednom kad se slike ili fajl promeni)
brcc32.exe -l409 Data.rc



Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme