Dll delhi

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1215 palavras )
  • Download(s) : 0
  • Publicado : 15 de setembro de 2012
Ler documento completo
Amostra do texto
GERAÇÃO TEC
CURSO DE DELPHI


ESTUDO SOBRE DLL

DEFINIÇÃO
Dll significa “Dynamic Link Library”, ou traduzindo, um arquivo de biblioteca de vínculo dinâmico . Dll é um arquivo executável que permite que os programas compartilhar código e outros recursos necessários para executar tarefas específicas. Microsoft Windows fornece arquivos DLL que contêm funções e recursos que permitem queprogramas baseados no Windows operem no ambiente do Windows
Isso acontece porque uma DLL é desenvolvida para ser usada juntamente como outros aplicativos e/ou outras DLLs. No ambiente Windows encontramos muitas DLLs. Na verdade, o Windows e sua Win32 API é uma coleção de DLLs. Se olharmos nos diretórios System ou System32 encontraremos várias delas, incluindo kernel32.dll, gdi32.dll, user32.dll,shell32.dll, comctl32.dll, entre outras.

UTILIZAÇÃO
A DLL (.dll) file contains a library of functions and other information that can be accessed by a Windows program. As DLLs existem com o propósito de compartilhar código entre aplicações. Isso quer dizer que uma mesma DLL pode estar sendo usada por vários programas ao mesmo tempo. E isso é verdade no ambiente Windows. When a program is launched,links to the necessary .dll files are created. If a static link is created, the .dll files will be in use as long as the program is active.
Todos os programas de interface gráfica escritos em Delphi, C, C++, etc e que usam os componentes gráficos do Windows estão de alguma forma fazendo uso de códigos disponíveis em DLLs do sistema. Sem o aproveitamente de tais códigos os executáveis ficariamenormes, visto que cada um teria que implementar as rotinas de desenho e diretivas de criação de janelas. Ao aproveitar as funcionalidades disponíveis nas DLLs do sistema esta tarefa se torna muito mais fácil.
Usando Delphi, você pode criar e usar suas próprias DLLs, você pode chamar funções em DLLs desenvolvidas com outras linguagens de programação, por outros desenvolvedores.
O motivo disso éque você pode querer compartilhar algumas de suas rotinas entre os vários aplicativos que você desenvolve. A maior vantagem disso é que, ao atualizar ou corrigir o código em uma DLL você estará certo de que todas as aplicações que fazem uso desta DLL automaticamente perceberão e tirarão proveito da atualização.
Entre as vantagens do uso de DLLs podemos citar:

a) Podemos compartilhar rotinas ecódigos entre vários aplicativos;

b) Ao mantermos boa parte de nossos códigos em DLLs nós conseguimos economizar memória e espaço em disco;

c) Outros desenvolvedores poderão usar nossas rotinas e lógica mesmo sem ter acesso aos nossos códigos-fontes;

d) Podemos usar códigos escritos em outras linguagens em nossos programas Delphi. Isso quer dizer que uma DLL escrita em C/C++ poderá serusada em um programa Delphi sem qualquer problema. A prova disso é que as DLLs do Windows são escritas em C/C++.

STATIC OR DYNAMIC LOADING? CARREGAMENTO ESTÁTICO OU DINÂMICO?
Funções exportadas de uma DLL podem ser importadas de duas maneiras: por declarar um procedimento externo ou função (estática), ou por chamadas diretas para funções específicas da API DLL (Dynamic).
Se uma ligação estática écriada, os arquivos. DLL estará em uso, desde que o programa é ativado. If a dynamic link is created, the .dll files will only be used when needed.
Se um link dinâmico é criado, os arquivos. Dll só será usada quando necessário.Dynamic links help programs use resources, such as memory and hard drive space, more efficiently. Os links dinâmicos ajudam programas a usar recursos, como memória eespaço em disco rígido, de forma mais eficiente.

VAMOS AGORA COMPARAR CARREGAMENTO DLL ESTÁTICA E DINÂMICA PARA VER QUAIS SÃO AS VANTAGENS E DESVANTAGENS DE AMBOS.
Pros do estático
Mais fácil para um iniciante desenvolvedor, não API "feio" chama DLLs carregado uma vez, quando o programa começa.
Contras do estático
O aplicativo não será iniciado se houver DLLs estão faltando (não pode ser...
tracking img