Linkar um arquivo exe ao meu executável.

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Bisteca
Usuário Nível 2
Usuário Nível 2
Mensagens: 74
Registrado em: 10 Jan 2005 10:25

Linkar um arquivo exe ao meu executável.

Mensagem por Bisteca »

Tenho um prog. que chama pelo com RUN um outro executável.
Gostaria de saber se é possível linkar este outro executável ao meu, para
que o outro não seja acessado diretamente. :?:
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

A resposta é não.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Clipper escreveu: A resposta é não.
Eu preferiria não usar um "não" tão definitivo. Prefiro um "talvez". Tenho na minha página um esquema de embutimento de arquivos dentro dos executáveis Clipper (tabela marrom - título "Resources no Clipper"), a exemplo dos "resources" dos programas Windows. O demo que acompanha o ZIP dá uma boa idéia de como o mecanismo funciona. Também há um README.TXT com os detalhes. Mas há uma limitação: o(s) arquivo(s) embutido(s) não pode(m) ser exageradamente grande(s). Portanto, se este esquema servir para o colega, podemos mudar a resposta para "sim".

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinhos

Aproveitando o gancho, lembrei de algumas bibliotecas para Clipper que permitiam embutir em .DBF arquivos como acontece nos .MDBs, lógicamente que pela limitação dos tamanhos de campos de um .DBF esta técnica não foi largamente utilizada.

A técnica consistia em transformar um arquivo no formato binário para texto, ou seja o código hexadecimal do arquivo virava uma espécie de arquivo texto que poderia ser armazenado em campos MEMO.

Depois outra função retornava o arquivo ao estado original e pronto.

Pela limitação do tamanho dos campos MEMO e as imagens capturadas na época por uma LIB chamada ScanLIB( alguém lembra? ) não tinha como guarda-las. Mas hoje ja seria possivel com .GIF e .JPG.

Lógico que meu poste é apenas ilustrativo pois não tenho a ScanLIB, e nem as funções de transformações, mas provavelmente o amigo Maligno sabe do que estou falando.

Acho que não ajudei muito, mas tava precisando desabafar.

@braços :?)
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

A lib citada eu já vi a algum tempo pela internet, ela permite colocar pequenos arquivos .COM dentro do executável e até mesmo pequenos .EXE, não cheguei a usar mas sei que não há nada impossível neste ampto.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
Tim9
Usuário Nível 3
Usuário Nível 3
Mensagens: 154
Registrado em: 14 Ago 2003 15:18
Localização: Ribeirão Preto
Contato:

Mensagem por Tim9 »

Acho que vou falar uma grande besteira, mas vou falar:

Se este outro executável for oriundo de uma compilação Clipper, é só pegar o seu .OBJ e linkar com o executável principal (Main).

Falei besteira?

Saúde e Paz para todos Clippeiros...
Até Breve!
Luz e Paz!
Tim9
------------------------------------------
olynthes@gmail.com
** Somos livres para escolher, mas prisioneiros das conseqüências **
------------------------------------------
Uso Clipper 5.2e, Blinker 7.0, Prwin 1.0 BFNTX migrando p/ xHarbour e Hwgui Dbfcdx
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Tim9 escreveu:Se este outro executável for oriundo de uma compilação Clipper, é só pegar o seu .OBJ e linkar com o executável principal (Main).
Desta forma realmente não funciona. Até porquê um objeto não é um executável. E incorporar um objeto a um executável, da forma como você sugere, é como agregar a ele uma função qualquer. Assim, torna-se apenas um executável, de qualquer forma.

Em tempo:
Da forma como eu tinha falado funciona se o arquivo (executável ou não - qualquer coisa) for pequeno. Para algo mais "visualizável": lembrei que tenho um demo de um programa C que recupera o número de série (de fábrica) de HDs mais novos (que têm embutida a tecnologia S.M.A.R.T. - o SO também precisa ter). Neste demo fiz exatamente o ebutimento a que me referi em outra mensagem. E já tem um demo pronto para executar. O programa C, que tem +/- uns 5KB) está dentro do EXE Clipper. Ao executar o demo, ele extrai para o HD o executável C, executa-o, direcionando sua saída texto para um arquivo, recupera os dados relevantes para uma matriz e, por fim, apaga este EXE C e o arquivo texto. Os fontes estão no ZIP. Basta uma leitura para ver que o uso deste recurso é bem fácil. Não requer grandes conhecimentos.

Link do demo (+/- 107KB): http://buzinello.com/prg/demos/hdi-demo.zip

[]'s
Maligno
http://www.buzinello.com/prg
Responder