Jak zrobic plik res, rc i dll

0

Jak zrobic pliki res, rc i dll korzystajacy z nich? chce napisac aplikacje wielojezyczna. help! [glowa]

0

Plik rc i res to pliki zasobów danego programu (res to skompilowany rc). Do tworzenia tego typu plików istnieją odpowiednie programy do tworzenia ww plików. Pliki dll tworzy się robiąc program z nagłówkiem Library, np:

Library NowaBiblioteka;

Begin
End.

Będzie to pusta biblioteka. I zapewne potrzebna jest Ci ona do przechowywania zasobów. Wspomniane programy, po utworzeniu nowego zasobu, <ort>terz </ort>mogą zapisać go do dll. Lub w Delphi/Bprland Pascal wpisz pod library {$R IstniejącyPlikRes}.

0

A jak potem z takiego resa, wrzuconego do dll wyciagnąć zasoby? Np. jpg'a.

0

A gdybym chciał wyciagnąć exe, które mam w dll, które ma {$R jaskis.res} ? W tym resie jest RCDATA dakoder.exe.
Z resa wyciagałem tak:

ResStream := TResourceStream.Create(HInstance,'dekoder', RT_RCDATA);
resstream.SaveToFile('./encdec.exe');
ResStream.Free;

0
ResStream := TResourceStream.Create(HInstance,'dekoder', RT_RCDATA);

Zamiast HInstance podajesz uchwyt do biblioteki.

0

A ja się podłącze pod wątek. Dzieki za informację Mlody, nie wiedziałem że zamiast HInstance
można podać uchwyt do biblioteki, po prostu rzadko korzystałem z zasobów a szczególnie w dll.
bierioza: robisz tak jak poniżej, mając już skompilowaną dllke z odpowiednim zasobem 'cosik'.

var
  H : Thandle;
  JpgSrc : TJpegImage;
  Stream : TResourceStream;
begin
  H := LoadLibrary('dllka.dll');
    if H <> 0 then
    begin
    JpgSrc := TJpegImage.Create;
    Stream := TResourceStream.Create(H, 'cosik', RT_RCDATA);
    JpgSrc.LoadFromStream(Stream);
    Image1.Picture.Bitmap.Assign(JpgSrc);
    Stream.Free;
    JpgSrc.Free;
    end;
end;
0

Git-majonez. Jak to mówi Pani Basia.

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