Heeeej ! ......Śpicie tam ? ......pomocy w Delphi!

0

Potrzebny kod do ładowania jpg z zasobów dll lub innego pliku nie wczytujęcego się na stałe do exe

0

Muszisz stworzyć zasoby w DLL i wyeksportować je z biblioteki do swojego programu za pomocą Funkcji lub procedury. Pisałem już coś takiego ale mam to w domu a teraz jestem w pracy.

Biernacki Arkadiusz Szczecin (ABJ) [email protected]

0

:D Coś znalazłem w pracy to o czym myślałem oto treść :

library ResJpgfile;
uses
Windows,
SysUtils,
Classes;

{$R ABJ.RES} //Tu musisz miec swoje zasoby pod RCDATA

var
Res : TResourceStream;

procedure zgrajplik(resfile,fullfile,temp:string);stdcall;
begin
Res := TResourceStream.Create(hInstance, resfile, RT_RCDATA);
Res.SaveToFile(temp+fullfile);
Res.Free;
end;
exports
zgrajplik;

begin

end.

Ta procedura wyciąga z DLL czyli z zasobów np. Twoje obrazki i zapisuje na dysku a gdzie to będzie zależało od Ciebie

Tworzenie zasobu przykład plik o nazwie ABJ.RC:

abandoned_hope RCDATA "abandoned_hope.xm"
amazonas RCDATA "amazonas.s3m"
android RCDATA "android.xm"
ARYX RCDATA "ARYX.s3m"
dream_about_driving RCDATA "dream_about_driving.xm"
falco RCDATA "falco.xm"
galaxy_2 RCDATA "galaxy_2.mod"
Hypn RCDATA "Hypn.mod"
Illumin RCDATA "Illumin.mod"
intro RCDATA "intro.mod"
lotus_3_cd2 RCDATA "lotus_3_cd2.mod"
lotus_3_cd6 RCDATA "lotus_3_cd6.mod"
Odysseyp RCDATA "Odysseyp.mod"
Patrol RCDATA "Patrol.mod"
ride RCDATA "ride.mod"
winter_techno RCDATA "winter_techno.mod"

a kmpilujesz tak : BRCC32.EXE abj

W swoim programie Deklarujesz procedure

procedure zgrajplik(resfile,fullfile,temp:string); stdcall; external 'ResJpgfile.dll' ;

a odczytujesz tak :

zgrajplik(nazwa,full,kosz);

gdzie :
nazwa : nazwa z zasobu (np. : abandoned_hope)
Full: ścieżka gdzie ma być zgrane
Kosz: Nazwa pliku (jaka ma być)

a następnie np.

image1.Picture.LoadFromFile(kosz+full);

jak już sobie odczytacz to potem skasuj ten plik funkcją

deletefile(kosz+full);

i sprawa załatwiona

a do jpga musisz zdeklarować bibliotekę czyli :

uses
jpeg;

Powodzenia

Biernacki Arkadiusz (ABJ) [email protected]

1 użytkowników online, w tym zalogowanych: 0, gości: 1