Fórum Arquivos de Recursos #273858

23/03/2005

0

pessoal criei o objeto:
ResStream : TResourceStream;
e agora utilizo seu seguinte constructor
TResourceStream.CreateFromID(HInstance, IdImagem, RT_RCDATA);
me digam qual é sua especificação realmente e em qual classe fica a constante RT_RCDATA?


Bruno Belchior

Bruno Belchior

Responder

Posts

23/03/2005

Massuda

Não sei se entendi direito sua dúvida, mas a constante RT_RCDATA está declarada na unit Windows.


Responder

Gostei + 0

23/03/2005

Bruno Belchior

Massuda minha dúvida tbm era essa mais tem mais alguma coisinha
o parâmetro do construtor IdImagem já sei que é o índice que a imagem foi inserida no .res e RT_RCDATE é um tipo genérico dos dados, porém o HInstance eu não compreendi ainda sua aplicação e outra coisa estou usando isso em uma classe que criei fora de meu formulário ou seja não tem a diretiva incluindo o arquivo de recursos na classe e sim no formulário que utilizara um objeto da mesma, será que funciona?


Responder

Gostei + 0

23/03/2005

Massuda

... o HInstance eu não compreendi ainda sua aplicação...
Além dos resources embutidos na sua aplicação, você pode ter DLLs externas contendo mais resources. No caso, o HInstance serve para saber se o resource que você quer acessar está no seu executável (nesse caso, o parâmetro HInstance é o valor dado pela variável global HInstance) ou está em alguma DLL (nesse caso HInstance é o valor retornado por LoadLibrary).

...estou usando isso em uma classe que criei fora de meu formulário ou seja não tem a diretiva incluindo o arquivo de recursos na classe...
Isso não é problema, desde que o resource que você quer acessar esteja embutido no seu executável.


Responder

Gostei + 0

24/03/2005

Bruno Belchior

quer dizer que [b:d58d167f3f]HInstance[/b:d58d167f3f] é justamente para fazer algo como estou tentando fazer (no caso extrair dados do .res sem estar na unit que ela foi inserida), me corrija se estiver errado mas a variável [b:d58d167f3f]HInstance [/b:d58d167f3f] é preenchida na hora que chamo [b:d58d167f3f]$R RECURSOS.RES[/b:d58d167f3f]?


Responder

Gostei + 0

24/03/2005

Massuda

...quer dizer que [b:8af96d2f51]HInstance[/b:8af96d2f51] é justamente para fazer algo como estou tentando fazer (no caso extrair dados do .res sem estar na unit que ela foi inserida),...
Se entendi o que você escreveu, a resposta seria ´mais ou menos´... Todos os $R do programa são tratados pelo Windows como uma coisa só (lembre-se que o Windows não faz a mínima idéia do que seja uma unit); dentro desse bloco único de resources do programa, o que faz diferença para o Windows é o tipo do resource e seu nome ou identificador.

...a variável [b:8af96d2f51]HInstance [/b:8af96d2f51] é preenchida na hora que chamo [b:8af96d2f51]$R RECURSOS.RES[/b:8af96d2f51]?
Não. HInstance é uma variável global do Delphi que é inicializada quando o programa é carregado.


Responder

Gostei + 0

24/03/2005

Rodc

Uma dúvida, tem como ´anexar´ um arquivo, por exemplo um HTML em um arquivo RES para não ter que distribuir dois arquivos ao cliente?


Responder

Gostei + 0

24/03/2005

Bruno Belchior

até onde sei sim... certa vez incluí numa DLL um .res e coloquei dentro dele vários JPG´s, (para diminuir o tamanho do executável final), sendo assim tenho quase convicção que é possível colocar todo tipo de arquivo usando o tipo de dado [b:267eecfd08]RT_RCDATA [/b:267eecfd08]...


Responder

Gostei + 0

24/03/2005

Massuda

...tem como ´anexar´ um arquivo, por exemplo um HTML em um arquivo RES para não ter que distribuir dois arquivos ao cliente?
Praticamente qualquer coisa pode ser embutida em um executável como sendo um resource.

Em particular, no caso de arquivos HTML, é interessante dar uma olhanda no artigo [url=http://delphi.about.com/od/internetintranet/l/aa061901a.htm]Web Site inside a Delphi EXE[/url] do site [url=http://delphi.about.com/]delphi.about.com[/url].


Responder

Gostei + 0

24/03/2005

Marcelo Saviski

Um jeito mais prático de imbutir arquivos no executavel, é ir em Project>Resources e adicionar os Arquivos lá
Não sei se esse menu resources é nativo do Delphi ou de alguma coisa que eu instalei...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar