Mam następujące zadanie. Do biblioteki *.dll wgraj 2 obrazki i następnie w programie w Image1 i Imega2 wyświetl te obrazki. czytałem sporo o bibliotekach ale nie wiem jak załadować je do pliku czyli do *.dll i jak je ściągnąć na dysk i wyświetlić w Image
Zobacz na mój kod w poście pod adresem
http://4programmers.net/Forum/488119?h=olesio
Pliki załadowane do zasobów w dllce wcale nie trzeba zapisywać na dysk aby je wyswietlić w Image.
Potrzebujesz odpowiednio przygotowany plik .rc ktory kompilujesz do .res przy pomocy brcc32.
Pod poniższym adresem jest źrodło biblioteki oraz potrzebne pliki źrodłowoe i sam exec programu,
który wywołuje jpeg właśnie z dllki http://www.speedyshare.com/121888847.html sprawdź sam.
Pewnie i tak niczego sie nie nauczysz mając gotowca i nawet nie będzie krótkiego "dziękuję", bo
pewnie w ogóle nie będzie odpowiedzi tak jak to niektórzy tutaj mając w zwyczaju pojawić się z
jakimś pytaniem, a później po uzyskaniu odpowiedzi po prostu zniknąć, ale zaryzykuje :P
no dobra, nauczyłem się tworzyć z podanego pliku te plik *.rs i skompilowany *.res :) Dziękuje Olesio za link w którym jest projekt pobierania zdjęcia z *.dll a czy jest jakaś instrukcja do tego jak zrobić pobieranie z Dll a nie z pliku Res ?
WL90 napisał(a)
no dobra, nauczyłem się tworzyć z podanego pliku te plik *.rs i skompilowany *.res :) Dziękuje Olesio za link w którym jest projekt pobierania zdjęcia z *.dll a czy jest jakaś instrukcja do tego jak zrobić pobieranie z Dll a nie z pliku Res ?
Nie bardzo rozumiem co chcesz uzyskac? Moj kod na http://www.speedyshare.com/121888847.html
otwieral jpga wlasnie z dllki, nie bardzo wiem jak inaczej mozna otwierac plik z dll jak nie z zasobow w
te biblioteke wkompilowanych. Napisz co chcesz osiagnac. "z Dll a nie z pliku Res" sie nie da chyba.
Chcę dokładnie tak jak Ty tylko że kilka obrazków i własne chcę dodać :)
No to tworzysz w pliku .rc wpisy w stylu:
cosik1 rcdata "nazwapliku1.jpg"
cosik2 rcdata "nazwapliku2.jpg"
cosik3 rcdata "nazwapliku3.jpg"
uruchamiasz brcc32.exe z parametrem plik.rc a póżniej rekompilujesz projekt z biblioteką.
W moim kodzie plik rc zwie sie dllka.rc a projekt z kodem biblioteki zwie się dllka.dpr. No a
teraz w kodzie zmieniasz tylko nazwe zasobu do wczytania z cosik1 na cosik2 i tak dalej.
var
H : Thandle;
JpgSrc : TJpegImage;
Stream : TResourceStream;
begin
H := LoadLibrary('dllka.dll');
if H <> 0 then
begin
JpgSrc := TJpegImage.Create;
Stream := TResourceStream.Create(H, 'cosik1', RT_RCDATA);
JpgSrc.LoadFromStream(Stream);
Image1.Picture.Bitmap.Assign(JpgSrc);
Stream.Free;
JpgSrc.Free;
end;
end;
Chyba o to Tobie chodzi?
A tak na marginesie :
KrisX dnia 08-02-2006 22:10
Wszystko ok tylko po co kompilować pliki *.rc przy pomocy brcc32.exe?
Szybciej będzie Menu>>Project>>Add to Project...
W dialogu zmieniamy tylko filtr z *.pas na *.rc i po sprawie ;> Delphi sam skompiluje plik zasobów a poza tym będzie można edytować ten plik w oknie edycji kodu :)