
Olhem o código que achei:
Colocar os bitmaps na dll
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 projecta 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;

Em fim isso não funciona, será que alguem pode me apontar algum erro no código ou me passar outro...
Obrigado!