Em dicas anteriores voce aprendeu o que e um DLL e sua importancia para a programacao no ambiente Windows. Nesta dica mostrarei como criar uma DLL bem simples e usa-la a partir de um programa Delphi. Para isso siga atentamente os passos abaixo:1) Va em File -> New -> Other;2) Selecione Delphi Projects e escolha DLL Wizard;3) Neste momento o DLL Wizard criara o esqueleto do codigo fonte da DLL. Note que o codigo desta unit e bem parecido com aquele da unit de uma aplicacao. A diferenca principal e o uso da palavra-chave library em vez de program:library Project2;{ Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. }uses SysUtils, Classes;{$R *.res}beginend.Salve esta unit como MinhaDLL.dproj em um diretorio de sua preferencia. Em seguida vamos criar uma rotina que recebera dois valores inteiros e retornara sua soma. Veja a modificacao no codigo:library MinhaDLL;function Somar(a, b: Integer): Integer; stdcall;begin Result := a + b; // retorna a somaend;{ vamos exportar (export) a funcao Somar }exports Somar;beginend.Nossa DLL esta pronta. Agora va no menu Project -> Build MinhaDLL (ou pressione Shift+F9). Se tudo correu bem voce tera um arquivo chamado MinhaDLL.dll no diretorio no qual voce salvou o projeto. O proximo passo e aprender a carregar esta DLL a partir de seus programas Delphi. Veja mais dicas nesta secao para aprender como isso e feito. Como os indices das matrizes em Delphi, diferente de outras linguagens, nem sempre comecam em 0, nao podemos deduzir que Length() - 1 retornara o indice final da matriz. Desta forma, podemos usar as funcoes Low() e High(), ambas presentes na unit System.A funcao Low() retorna o indice inicial da matriz, enquanto High() retorna o indice final. Veja:procedure TForm3.Button1Click(Sender: TObject);var valores: array[11..20] of Integer; inicio, fim: Integer;begin // vamos obter o indice inicial da matriz inicio := Low(valores); // vamos obter o indice final da matriz fim := High(valores); // vamos exibir o resultado ShowMessage('O indice inicial da matriz e: ' + IntToStr(inicio)); ShowMessage('O indice final da matriz e: ' + IntToStr(fim)); ShowMessage('O tamanho da matriz e: ' + IntToStr((fim - inicio) + 1));end;Lembre-se desta dica quando precisar percorrer os elementos de uma matriz usando o laco For. Execute o programa CMD como administrador e cole o comando abaixo para descobrir a chave do windowswmic path SoftwareLicensingService get OA3xOriginalProductKey Fonte TDevRocks# 1. Salve um atalho na tela inicial depois de InstalarSe voce quer que os usuarios sejam capazes de encontrar o seu aplicativo novamente depois de instala-lo, voce deve adicionar o icone a tela inicial do usuario. O usuario pode remove-lo ou ele sera automaticamente removido