Tutorial - Criando uma DLL (Dynamic Link Library) - C++ Builder
Introdução:
Uma Dynamic Link Library ou DLL é um programa que outro programa precisa para funcionar. É mais comum a dynamic link library ou DLL vir com uma extensão .dll, mas isso não quer dizer que só é necessário vir com essa extenção. DLLs são criadas por várias razões,a mais comum é,porque um programa precisa dela para "ligar" e ter conhecimento da programação dentro da DLL.
Começando ...
1 - Inicie o Borland C++ Builder. Clique em FILE/CLOSE ALL
2 - Clique em FILE/NEW/OTHER../DLL Wizard.

3 - Clique em OK quando aparecer essa mensagem:

4 - Agora vamos salvar o projeto. Vá em FILE/SAVE ALL. Depois criei um pasta no diretório de projetos do C++ Builder, chamado DLLExercise. E depois salve os dois nessa pasta com os nomes: DLLUnit = Unit1.cpp e DLLProject = Nome do projeto.
5- Em cima da função DLLEntryPoint() , declare as funções necessárias:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------
// This function is used to calculate the total area of a parallelepid rect
double BoxArea(double L, double H, double W);
// This function is used to calculate the volume of a parallelepid rectangle
double BoxVolume(double L, double H, double W);
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------
double BoxArea(double L, double H, double W)
{
return 2 * ((L*H) + (L*W) + (H*W));
}
//---------------------------------------------------------------------------
double BoxVolume(double L, double H, double W)
{
return L * H * W;
}
//---------------------------------------------------------------------------
6 - Agora modifique o código-fonte da DLL para ficar parecido com isso:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------
// This function is used to calculate the total area of a parallelepid rect
double BoxArea(double L, double H, double W);
// This function is used to calculate the volume of a rectangular parallelepid
double BoxVolume(double L, double H, double W);
// This function is used to get the dimensions of a rectangular parallelepid
// calculate the area and volume, then pass the calculated values to the
// function that called it.
extern "C" __declspec(dllexport)void BoxProperties(double Length, double Height,
double Width, double& Area, double& Volume);
//---------------------------------------------------------------------------
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------
double BoxArea(double L, double H, double W)
{
return 2 * ((L*H) + (L*W) + (H*W));
}
//---------------------------------------------------------------------------
double BoxVolume(double L, double H, double W)
{
return L * H * W;
}
//---------------------------------------------------------------------------
void BoxProperties(double L, double H, double W, double& A, double& V)
{
A = BoxArea(L, H, W);
V = BoxVolume(L, H, W);
}
//---------------------------------------------------------------------------
7 - Agora salve seu porjeto. Para isso clique em FILE/SAVE ALL.
8 - Para compilar e fazer o build da DLL você terá que ir em PROJECT/Build DLLProject
9 - Agora a DLL já está pronta para o uso.
10 - Não se esqueça de salvar.
Usando a DLL em um projeto ...
Agora teremos que criar um programa para funcionar com a DLL.
1 - Faça um novo projeto. O projeto é usando a VCL.
2 - Salve o projeto. Para isso clique FILE/SAVE ALL
3 - Salve a unit como Main e o projeto como ParaRect
4 - Deixa a Form parecido com isso:

5 - Adicione ao seu projeto a DLL que foi criada anteriormente.Não a DLL e sim o arquivo DLLUnit !
6 - No evento OnClick do Botão Exit coloque:
7 - Para fazer o programa linkar com a DLL escreva essas comandos:
// Esse codigo-fonte deve ficar no Botao Calculate Length = edtLength->Text.ToDouble(); BoxProperties(Length, Height, Width, Area, Volume); edtArea->Text = Area; |
8 - Salve o projeto.
9 - Compile
10 - Executar (para testar)
Outro exemplo , mas sem usar a VCL ...
//--------------------------------------------------------------------------- #pragma argsused cout << "Enter the dimensions of the box\n"; BoxProperties(Length, Height, Width, Area, Volume); cout << "\nProperties of the box"; cout << "\n\nPress any key to continue..."; |
Espero que gostem, aproveitem !
Visitem também:
Abelha e Abelhas | Games,Animais em extinção, tutoriais,etc.
Tutorial feito e traduzido à partir do site functionx.com/bcb