Retirado do site http://imasters.com.br/artigo/3230/visual_basic/criando_minha_primeira_dll/Criando minha primeira DLLHoje vamos falar sobre Dynamically Linked Libraries. Com certeza voce conhece nao e? Nao? Tudo bem, deve ser o fato de estar em Ingles. Traduzindo: Bibliotecas Dinamicamente Ligadas, agora sim? Ainda nao? Entao vamos ao popular DLL.Neste artigo vamos analisar como tudo comecou e fazer um exemplo simples, bem relativo ao tema Criando minha primeira DLL. Nao sera nenhum exemplo do estilo Hello World, mas tambem nenhum mega-exemplo ensinando como acabar com todos os problemas do Windows, mas sim uma funcao para Leitura e outra para Escrita em Arquivo INI usando e tecnica de implementar o codigo em DLL.IntroducaoNada melhor antes da pratica do que uma boa dose de teoria, nao e mesmo? Vamos falar um pouco sobre DLL e Arquivos INI.DllsNos primordios da informatica os programas eram constituidos apenas de um arquivo executavel, onde no mesmo havia todas as informacoes e instrucoes necessarias para seu funcionamento, porem como ha programas e PROGRAMAS, tinhamos paralelamente aos programas de porte simples os complexos, estes sim, continham diversos executaveis.Com o decorrer do tempo, isso obviamente so aumentou, consideravelmente apos o inicio da utilizacao de interface grafica chamada de GUI (Graphical User Interface ou Interface Grafica de Usuario), que fez com a divisao do programa em varios executaveis se tornasse inviavel na questao de produtividade, ja que o codigo entre os executaveis nao podia ser compartilhado. Ou seja, se voce tinha uma funcao que era utilizada em todos os executaveis de seu programa, voce deveria implementa-la em cada um deles (ou melhor, dizendo fazer em uma e CTRL+C e CTRL+V em outra).Para solucao disto, nossos amigos projetistas do Windows comecaram a usar uma estrategia denominada Linkagem Dinamica, que resumidamente se explica em: o programador informar no codigo a localizacao de uma biblioteca de funcao (externa ao programa) e o compilador juntar as funcoes da biblioteca com o codigo implementado pelo programador. Em sintese, as funcoes sao retiradas do arquivo executavel e armazenadas em uma biblioteca, contudo, temos inumeras vantagens, duas das mais relevantes sao:Compartilhamento do Codigo, ja que varios executaveis podem se referenciar a mesma biblioteca.Atualizacoes do Programa se torna mais facil ja que so e preciso alterar as bibliotecas e nao o executavel evitando ter que reinstalar o programa.Essas bibliotecas sao padroes de todos os sistemas da familia Windows, como exemplos tem-se as famosas API (Application Program Interface ou Aplicacao de Programa de Interface) do Windows, que em grande parte dos casos sao baseadas nesse tipo de biblioteca.As APIs (que em resumo sao bibliotecas que contem informacoes de como devem ser os caixa de textos, botoes de comando, caixa de mensagens, etc) propiciam ao programador menos trabalho no desenvolvimento e alem de tudo determina uma padronizacao de interface nos programas.Voce deve estar se indagando, Legal saber tudo isso, mas onde isso me ajuda?. Sem duvidas, a principio essa tecnica parece um tanto quanto distante da nossa realidade de programacao, ja que nao estamos desenvolvendo nenhum Sistema Operacional (pelo menos eu nao), porem, se voce analisar com um pouco mais de atencao, notara que isso e ao contrario do