![ActiveDelphi - Índice do Fórum](templates/subSilver/images/logo_phpBB.gif) |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
mikenewell Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Segunda-Feira, 27 de Janeiro de 2014 Mensagens: 6
|
Enviada: Seg Jan 27, 2014 7:46 pm Assunto: Ajuda DLL Include (Array of Byte) |
|
|
Eu estou tentando fazer uma dll transformar em array of byte para eu utilizar como arquivo (*.inc)
alguem tem ideia de como fazer isso??
Exemplo:
Abrindo a dll em hexa decimal temos o hexadecimal dela:
4D5A900003000000.....
transformando ela em inc ficaria assim:
dll: array[0..823295] of Byte = (
$4D,$5A,$9,$0,$0,$0,$0,$3,$0,$0,$0,$0,$0,$0.....
........
alguem sabe como converter uma dll para .inc ??? |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
strak2012 Colaborador
![Colaborador Colaborador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/colaborador.gif)
![](images/avatars/2276652e81dfb2e401.jpg)
Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Qua Jan 29, 2014 11:34 am Assunto: |
|
|
Fiquei curioso em saber para quer kkkkkkk.
Ai estar a rotina
Código: |
var
buff: array [0 .. 1024 * 1024 * 50] of byte; // 50mb de tamanho deve servir para dll
procedure dll2inc(dllname, incname: string);
var
INFile: file of byte;
OUTFile: tstrings;
I, len: longint;
lin: string;
begin
OUTFile := tstringlist.Create;
AssignFile(INFile, dllname);
Reset(INFile);
len := filesize(INFile);
OUTFile.Add('var dll:array[1..' + inttostr(len) + '] of byte=(');
BlockRead(INFile, buff, len); // ler o arquivo de uma só vez
lin := '';
for I := 0 to len - 1 do
begin
lin := lin + '$' + inttohex(buff[I], 2) + ',';
if length(lin) = 24 * 4 then
begin
OUTFile.Add(lin);
lin := '';
end;
end;
CloseFile(INFile);
if lin <> '' then
OUTFile.Add(lin);
lin := OUTFile.Strings[OUTFile.Count - 1];
lin := copy(lin, 1, length(lin) - 1) + ');';
OUTFile.Strings[OUTFile.Count - 1] := lin;
OUTFile.SaveToFile(incname);
OUTFile.Free;
end;
|
Dos exemplos de uso
Código: |
procedure TForm2.Button1Click(Sender: TObject);
begin
dll2inc('C:\Users\Strak\Desktop\delphi inc\zlib.dll',
'C:\Users\Strak\Desktop\delphi inc\zlib.inc');
end;
|
|
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
strak2012 Colaborador
![Colaborador Colaborador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/colaborador.gif)
![](images/avatars/2276652e81dfb2e401.jpg)
Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Qua Jan 29, 2014 11:39 am Assunto: |
|
|
meu teste
![](http://4image.kgngames.com/img/61391006323.jpg) |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
GustavoToyota Profissional
![Profissional Profissional](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star5.gif)
![](images/avatars/143834e91dcde1f426.jpg)
Registrado: Domingo, 9 de Outubro de 2011 Mensagens: 605 Localização: Sorocaba - SP
|
Enviada: Qua Jan 29, 2014 12:46 pm Assunto: |
|
|
Isso é uma bagunça
Eu usaria resources ![Rolling Eyes](images/smiles/icon_rolleyes.gif) |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
mikenewell Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Segunda-Feira, 27 de Janeiro de 2014 Mensagens: 6
|
Enviada: Qui Jan 30, 2014 3:18 pm Assunto: |
|
|
Obrigado Strack2012 eu eu quero isso para que minha dll fique interna é tipo igual resource, voce me salvou amigo, obrigado!!!! |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
renato.pavan Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Quarta-Feira, 22 de Junho de 2005 Mensagens: 27
|
Enviada: Qui Out 01, 2015 9:19 am Assunto: Array of Bytes em DLL |
|
|
mikenewell escreveu: | Obrigado Strack2012 eu eu quero isso para que minha dll fique interna é tipo igual resource, voce me salvou amigo, obrigado!!!! |
Como faço o processo inverso?
Tranformando um array de bytes em DLL?
Obrigado,
Renato. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
renato.pavan Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Quarta-Feira, 22 de Junho de 2005 Mensagens: 27
|
Enviada: Sex Out 02, 2015 9:26 am Assunto: Re: Array of Bytes em DLL |
|
|
renato.pavan escreveu: | mikenewell escreveu: | Obrigado Strack2012 eu eu quero isso para que minha dll fique interna é tipo igual resource, voce me salvou amigo, obrigado!!!! |
Como faço o processo inverso?
Tranformando um array de bytes em DLL?
Obrigado,
Renato. |
Segue a solução caso alguém precise!
Código: |
var
myFile: file of Byte;
begin
AssignFile(myFile, 'libxml2.dll');
ReWrite(myFile);
BlockWrite(myFile,
libxml2, //Meu array de Byte
High(libxml2) //Tamanho total do meu Array
);
CloseFile(myFile);
|
Renato. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|