Ładny brzuch
na 4p kiedys znalazlem procedure na wyciagniecie pliku jpg z zasobow.
type TJPEGRes = class(TJPEGImage) public procedure LoadFromResource(const ResID: PChar); virtual; end; (...) procedure TJPEGres.LoadFromResource(const ResID: PChar); var Res : TResourceStream; // utworz zmienna begin { zalduj obrazek z zasobow } Res := TResourceStream.Create(hInstance, ResID, 'JPEGFILE'); try LoadFromStream(Res); // laduj obrazek do strumienia ze zmiennej Res finally Res.Free; // zwolnij pamiec end; end; (...) procedure button1onClikc(sender: tobject); var j: TJPEGRes; begin j := TJPEGRes.Create; try j.LoadFromResource(PAnsiChar(rN)); image1.Picture.Bitmap:=j.BitMap; finally j.Free; end; end;
i wszystko pieknie chodzi.
Ale czy jest mozliwosc stworzenia funkcji, ktora zwraca tbitmap (z "j") ?
bo gdy tworze funkcje, i uzupelniam procedura z button1onclik, ale zamiast image1 dam result:=j.bitmap; to podczas uzywania kodu (podczas dzialania aplikacji) dostaje informacje o bledzie... i procedura pada. daloby sie jakos to obejsc?
function DoImage({jakie parametry}):tbitmap; begin // ... result:=tbitmap.Create; result.Assign(j); end;
Prosto z jpeg do timage:Image1.Stretch:=true; Image1.Picture.Assign(j);
function DoImage({jakie parametry}):tbitmap; begin // ... result:=tbitmap.Create; result.Assign(j); end;
Prosto z jpeg do timage:Image1.Stretch:=true; Image1.Picture.Assign(j);
Imho linia: result:=tbitmap.Create; nie jest potrzebna :P
Imho linia: result:=tbitmap.Create; nie jest potrzebna :P Jest, bo jak inaczej mam stworzy obiekt? :P
Jest, bo jak inaczej mam stworzy obiekt? :P
A jesli mamy sobie bitmape (tbitmap) wywolamy na niej Create, a potem zmienimy ja ww. funkcja to czy wraz trzeba bedzie? :> Podaj kod do Twojej propozycji :P U mnie wynik funkcji na pocztku nie jest utworzony, jak chcesz, moe by tak:var b:tbitmap; begin b:=tbitmap.Create; // ... result:=b;tylko po co? :P
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
type TJPEGRes = class(TJPEGImage) public procedure LoadFromResource(const ResID: PChar); virtual; end; (...) procedure TJPEGres.LoadFromResource(const ResID: PChar); var Res : TResourceStream; // utworz zmienna begin { zalduj obrazek z zasobow } Res := TResourceStream.Create(hInstance, ResID, 'JPEGFILE'); try LoadFromStream(Res); // laduj obrazek do strumienia ze zmiennej Res finally Res.Free; // zwolnij pamiec end; end; (...) procedure button1onClikc(sender: tobject); var j: TJPEGRes; begin j := TJPEGRes.Create; try j.LoadFromResource(PAnsiChar(rN)); image1.Picture.Bitmap:=j.BitMap; finally j.Free; end; end;
i wszystko pieknie chodzi.
Ale czy jest mozliwosc stworzenia funkcji, ktora zwraca tbitmap (z "j") ?
bo gdy tworze funkcje, i uzupelniam procedura z button1onclik, ale zamiast image1 dam result:=j.bitmap; to podczas uzywania kodu (podczas dzialania aplikacji) dostaje informacje o bledzie... i procedura pada. daloby sie jakos to obejsc?
function DoImage({jakie parametry}):tbitmap; begin // ... result:=tbitmap.Create; result.Assign(j); end;
Prosto z jpeg do timage:Image1.Stretch:=true; Image1.Picture.Assign(j);
function DoImage({jakie parametry}):tbitmap; begin // ... result:=tbitmap.Create; result.Assign(j); end;
Prosto z jpeg do timage:Image1.Stretch:=true; Image1.Picture.Assign(j);

Imho linia: result:=tbitmap.Create; nie jest potrzebna :P

Imho linia: result:=tbitmap.Create; nie jest potrzebna :P Jest, bo jak inaczej mam stworzy obiekt? :P
Jest, bo jak inaczej mam stworzy obiekt? :P

A jesli mamy sobie bitmape (tbitmap) wywolamy na niej Create, a potem zmienimy ja ww. funkcja to czy wraz trzeba bedzie? :> Podaj kod do Twojej propozycji :P U mnie wynik funkcji na pocztku nie jest utworzony, jak chcesz, moe by tak:var b:tbitmap; begin b:=tbitmap.Create; // ... result:=b;tylko po co? :P