Criando Componentes..

Delphi

18/06/2004

Caros Colegas..

Estou criando um componente para validar senhas dos usuários do sitema da empresa, mas estou com alguns probleminhas..
Por exemplo : Tenho os BitBtn´s, na qual adiciono as imagens da seguinte forma :

bitbtn1.Glyph.LoadFromFile(arquivo);

o problema é o seguinte..
se por acaso alguém mudar este arquivo de diretório, dá erro no componente e ele não funciona, o quê devo fazer para resolver este problema..?

Agradeço antecipadamente a atenção de todos..

Cabelo


Cabelo

Cabelo

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

18/06/2004

adicione os seus glyphs em um .res usando o ImageEditor, salve junto aos .pas do seu componente

na unit do seu comp, adicione {Arquivo.res}

e use o LoadFromResourceName(HInstance, ´[i:c4914e2b8f]nome´[/i:c4914e2b8f]) ao invés do LoadFromFile

As Imagens serão compiladas junto com o executável

o [i:c4914e2b8f]´nome´[/i:c4914e2b8f] vc configura no Image Editor

certo?


GOSTEI 0
Cabelo

Cabelo

18/06/2004

Caro coleda Marcelo..

Não consegui.. continua dando erro de FFFF..

fiz exatamente o que vc sugeriu e não deu certo o quê será que está errado??

grato pela atenção..

Cabelo


GOSTEI 0
Beppe

Beppe

18/06/2004

Se o arquivo não existe, uma exceção é gerada. Se uma exceção é lançada no construtor, o destruidor é imediamente chamado.

if FileExists(arquivo) then
  bitbtn1.Glyph.LoadFromFile(arquivo);



GOSTEI 0
Cabelo

Cabelo

18/06/2004

Caro Colega Beppe..

Sua dica é válida e consegue resolver meu problema, mas o quê quero mesmo é encapsular o arquivo ao meu componente, para ele funcionar independente das ações do usuário..

se tiver uma outra dica eu agradeço.

Agradeço a sua atenção..

Cabelo


GOSTEI 0
Beppe

Beppe

18/06/2004

Então é como o Saviski disse. Lembre-se de colocar a imagem como BITMAP.


GOSTEI 0
Cabelo

Cabelo

18/06/2004

Caros Colegas..

Tentei de todos os jeitos.. mas continua a dar o mesmo erro, debugando, sempre dá erro na linha da imagem, ao que me parece, ele não está encontranto o arquivo .RES, mas está declarado
{IMAGENS.res}

será que pode ser pq compilo em .CLX ??

Tem alguma diferença neste caso..

agradeço a atenção.

Cabelo


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

18/06/2004

bom, eu nunca lidei com clx então não posso dizer, mas veja se o {IMAGENS.res} esta depois de [b:f590576dae]implementation[/b:f590576dae],
também não sei se tem que ser depois de implementation, mas sempre coloquei lá


GOSTEI 0
Cabelo

Cabelo

18/06/2004

Caro Marcelo

está sim depois do implementation..

o erro que está dando é o seguinte :

´resource TOOLS.BMP not found´

existe um bmp neste .RES que chama-se TOOLS.BMP, mas não sei pq não está encontrando.

a declaração do .res é feita somente assim {IMAGENS.res}, ou tem que dar alguma diretiva de compilação??

agradeço muito sua atenção..

Cabelo


GOSTEI 0
Cabelo

Cabelo

18/06/2004

sobe..


GOSTEI 0
Cabelo

Cabelo

18/06/2004

Caros Colegas

Estou tendo só este problema para poder entregar o meu projeto.

está dando este erro :

´resource TOOLS.BMP not found´

quando eu chamo o recurso do .RES em meu componente

existe um bmp neste .RES que chama-se TOOLS.BMP, mas não sei pq não está encontrando.

a declaração do .res é feita somente assim {IMAGENS.res}, ou tem que dar alguma diretiva de compilação??

agradeço muito a atenção de todos..

Cabelo


GOSTEI 0
Delphinhow

Delphinhow

18/06/2004

Acho que vc esta esquecendo de colar o $ na frente. Não sei se é isso mais esperimente assim:
{$ Resourse.res} acho que ira funcionar.


GOSTEI 0
Cabelo

Cabelo

18/06/2004

Cara eu coloquei assim :

Implementation

{$IMAGENS.RES}

deu o seguinte erro :

´Invalid Compile Directive IMAGENS´

meu arquivo IMAGENS .RES está no diretório onde está o meu .PAS do componente...

Não sei o quê está faltando ..

Agradeço sua atenção..

Se alguém puder me ajudar, serei grato eternamente..

Cabelo


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

18/06/2004

falta o [b:59b49bce94]R[/b:59b49bce94]

[color=green:59b49bce94][i:59b49bce94]{$[b:59b49bce94]R[/b:59b49bce94] [u:59b49bce94]Arquivo.res[/u:59b49bce94]}[/i:59b49bce94][/color:59b49bce94]


GOSTEI 0
Cabelo

Cabelo

18/06/2004

Caro Marcelo Saviski

deu o memso erro de antes :

´RESOURCES TOOLS.bmp not found´;

e este bmp está no meu .RES, já verifiquei, só pra entender onde deve estar eset arquivo .RES, no diretório do .PAS do componente ou no diretório do projeto que estou compilando?? Pq ele está no diretório do .PAS do componente.

agradeço a atenção de todos.

Cabelo


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

18/06/2004

O erro é ao compilar ou depois, p/ ler a figura?


GOSTEI 0
Cabelo

Cabelo

18/06/2004

É na hora de ler a figura..

eu estou utilizando a seguinte função :

botao.Glyph.LoadFromResourceName(HInstance, ´TOOLS.bmp´);

dá erro exatamente nesta linha

´RESOURCES TOOLS.bmp not found´;

tem idéia do que pode ser??

agradeço sua atenção

Cabelo


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

18/06/2004

é só TOOLS, sem o .bmp


GOSTEI 0
Cabelo

Cabelo

18/06/2004

Funcionou perfeitamente..

muitíssimo obrigado, e desculpa pelo incomodo..

sem mais

Cabelo


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

18/06/2004

blz,
desculpas aceitas 8) (hehe)


GOSTEI 0
POSTAR