DLL como usa-la?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

pena
Usuário Nível 3
Usuário Nível 3
Mensagens: 331
Registrado em: 06 Jul 2004 18:08
Localização: CACHOEIRA DO SUL-RS

DLL como usa-la?

Mensagem por pena »

boa noite galera :* , alguem pode dar umas dicas ai como usar dll no clipper, se é que isso é possivel, desculpe a ignorancia, mas nunca precisei mas agora preciso usar uma e muito, se alguem puder ajudar........
Um abraço :xau
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 »

Depende das características da DLL. Foi feita para DOS ou Windows? Em qual linguagem? Ou você está querendo criar DLL em Clipper?

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Maligno, qual seria a diferença de um DLL para DOS e WINDOWS ?

Para DOS, seria apenas um arquivo TEXTO, com algumas características para configuração de algo. E como seriam essas caracxterísticas ?

Para WINDOWS, eu lembro ter perguntando, mas o que me interessa saber, se teria como extrair (em Clipper ou outro aplicativo) seu conteúdo.

Sabemos que DLL significa: Dynamic-Link Library, mas o quê guarda as DLLs for WINDOWS ? Guardam funções ?. Tem como saber quais são as funções que existem numa DLL ?.

Considerando que as DLLs for DOS (caso seja assim), sejam arquivos textos. Eu não vejo vantagem denominar o arquivo de configuração (digamos) com essa extensão, ora porque poderia ser com extensão: CFG, INI, etc... Tem alguma diferença ser criada como DLL no caso de DLL for DOS ?.

Me interessa saber um pouco mais sobre isso, e saber em que casos eu poderia utilizar isto.

Seu comentários, serão de muita ajuda. Um clip-abraço :)Pos
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 »

qual seria a diferença de um DLL para DOS e WINDOWS ?
Não sou especialista em DLL, até porque só fiz uma até hoje. Mas há diferença nas chamadas das funções. O Windows necessita de uma forma de montagem diferente. Além da forma especial com que os argumentos das funções são armazenados em pilha.
Para DOS, seria apenas um arquivo TEXTO
Nada a ver com texto. É código objeto mesmo.
Para WINDOWS, eu lembro ter perguntando, mas o que me interessa saber, se teria como extrair (em Clipper ou outro aplicativo) seu conteúdo.
Nunca precisei de algo parecido. Mas acredito que seja possível sim. Talvez até exista uma função da API pra listar esses nomes de funções, já que a DLL (do Windows, pelo menos) mantém uma tabela interna com os nomes das funções, pois é assim que elas são pesquisadas. Uma função abre a DLL e uma outra requisita um ponteiro para uma certa função pelo nome. Se o ponteiro retornar NULO, a função não existe. Mas não há nada assim para os argumentos da função. Aí é questão de interface. Você precisa conhecer a interface da DLL, evidentemente. Se você não conhece quais são seus parâmetros, nem os tipos de dados destes, nada feito. Mas normalmente um arquivo de cabeçalho está associado à DLL e neste arquivo constam os protótipos de todas as funções que dela fazem parte. Aliás, conhecendo a interface, você nem precisa fazer um programa para interagir com a DLL. No windows há um programa chamado RUNDLL32.EXE (se não me engano no nome), que permite a execução de uma função embutida numa DLL.
Sabemos que DLL significa: Dynamic-Link Library, mas o quê guarda as DLLs for WINDOWS ? Guardam funções ?. Tem como saber quais são as funções que existem numa DLL ?.
Justamente. Biblioteca de enlace dinâmico. Estamos mais acostumados às bibliotecas de enlace estático, cujo código reside no próprio executável, depois que as referências às funções são substituídas internamente. O código é então "colado" ao executável. É quase a mesma coisa que com DLL. Mas na DLL o código reside fisicamente em outro arquivo. E por isso, ela permite uma melhor componentização do software, que pode até ser utilizado por aplicações totalmente diferentes ao mesmo tempo.
Considerando que as DLLs for DOS (caso seja assim), sejam arquivos textos.
Realmente, nada a ver.
Me interessa saber um pouco mais sobre isso, e saber em que casos eu poderia utilizar isto.
As utilidades são muitas. A principal é a distribuição de componentes de software compartilhável. Uma vez que determinada tarefa esteja madura e estável, ela pode passar a residir numa DLL. O programa, por sua vez, pode passar por diversas atualizações, sem que seja necessário alterar a DLL da qual ele depende. A distribuição de atualizações aos usuários acaba ficando mais leve, portanto.

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