Por vezes, quando iniciamos um projecto, temos uma preocupação: fazer uma aplicação pequena. Bem, a solução pode passar por colocar todos os bitmaps que vamos utilizar numa dll. Então vamos lá começar:

 

Deve usar o Image Editor, criar uma nova Resource File (.res), neste ficheiro vamos colocar os bitmaps e icons (ambos funcionam da mesma forma) que queremos na nossa aplicação, clique com a tecla direita do rato na nova resource file e crie um novo bitmap, depois desenhe ou cole do clipboard um bitmap, finalmente guarde o ficheiro com o nome images.res. Depois disto estar feito vá ao IDE do Delphi e no File menu clique New... e escolha DLL depois cole o código abaixo, não se esqueça de adicionar uma unit vazia ao projecto. Guarde o project da dll no mesmo directório do ficheiro image.res, finalmente faça o build da dll (não se esqueça, que não se pode correr (executar) uma dll!)

 

Código da Dll:

 

library ImageRes; {nome da dll}

uses DummyUnit; {DummyUnit é uma unit vazia, que é necessária}

{$R images.res} {nome da resource file, que deve estar no mesmo caminho da dll}

begin

end.

Código da DummyUnit:

 

unit DummyUnit;

interface

implementation

end.

 

Usar os bitmaps que estão na dll:

Estão aqui alguns exemplos como extrair os bitmaps da dll:

 

procedure TForm1.SpeedButton1Click(Sender:TObject);

 

var

MyHandle :THandle;

Bmp: TBitmap;

 

begin

MyHandle := LoadLibrary(ImageRes.DLL); {nome da dll construida acima}

Bmp := TBitmap.Create;

Bmp.Handle := LoadBitmap(MyHandle, BITMAP1); {Bitmap1 é o nome do bitmap criado no ficheiro image.res}

SpeedButton1.Glyph.Handle := LoadBitmap(MyHandle,BITMAP1); {Carrega o Bitmap1 para o glyph do SpeedButton1}

Canvas.Draw(0,0,Bmp); {Desenha o bitmap no canvas da form}

Image1.picture.bitmap:=Bmp; {Carrega o bitmap para o componente Timage}

Bmp.Free;

end;