Actualmente, a maior parte do desenvolvimento de sistemas é realizada de forma colaborativa com uma combinação de várias pessoas ou mais, o que também facilita o rápido desenvolvimento do sistema.
O método DLL é o mais conveniente. Compilei algumas informações nesta área, na esperança de ajudar alguns alunos necessitados (lembro-me que quando comecei a aprender, pedir conselhos era impensável). //(Copiar livro fonte)
1. Como escrever procedimentos de função:
bibliotecaFIRSTDLL;
usa
SysUtils,
Aulas;
{$R *.RES}
// 1. Defina o processo específico e o modo de interface de saída da função
//--------------------------------
//função 1
// Função: função de amplificação de dados 3x
//--------------------------------
função BBnToSSnn(SourceResult:Integer):Integer;stdCall;
começar
se SourceResult>0 então
Result:=SourceResult+3 //O resultado é armazenado em Result
outro
Resultado:=FonteResultado;
fim;
exportações
BBnToSSnn; //2. Definição da porta de saída da função
fim.
==
==
2. Crie formulário em DLL
=======================
1. Em uma etapa, crie um projeto DLL e adicione o conjunto Formulário
biblioteca MGRPERSN;
usa
SysUtils,
Aulas,
MGRPERFM em 'MGRPERFM.pas' {FormPERSON};//1.Código do formulário (igual a um formulário normal)
{$R *.RES}
exportações
ShowPerSN;//2. Definição da porta de saída da função
começar
fim.
2. Configurações de formulário definidas em DLL
===========================================
unidade MGRPERFM;
interface
usa
Windows, Mensagens, SysUtils, Classes, Gráficos, Controles, Formulários, Diálogos,
ComCtrls, ToolWin, ImgList;
tipo
TFormPERSON = classe(TForm)
Privado
{Declarações privadas}
público
{Declarações públicas}
fim;
//As variáveis nestes locais não são mais utilizadas, altere-as para outro local, como segue (altere uma)
//var
// FormPERSON: TFormPERSON;
{Anunciar saída da função do formulário}//Alteração 2
função ShowPerSN(AHandle: THandle; ACaption: String):BOOL;
implementação
{$R *.DFM}
//definição do processo de dados da função
função ShowPerSN(AHandle: THandle; ACaption: String):BOOL;
var
FormPERSON: TFormPERSON; //Defina a classe do formulário (o acima é colocado aqui)
começar
//Copie o identificador da aplicação para o objeto de programa apropriado da DLL
aplicação.Handle := AHandle;
FormPERSON := TFormPERSON.Create(Application);//Cria o controle TForm
tentar
FormPERSON.Caption := ACaption;
FormPERSON.ShowModal;//Mostrar este formulário
Resultado := False; //retorna valor de sucesso
finalmente
FormulárioPERSON.Free;
fim;
fim;
3. Chamando funções e formulários em DLL
==========================
1. Chame o método um
---------------
implementação // Abaixo disso, escreva a DLL que chama a função
{$R *.DFM}
//Chamada de função dentro da DLL
função BBnToSSnn(SourceResult:Integer):Integer;
StdCall externo 'FIRSTDLL.DLL';
........
2. Chame o método dois
==============
type //Crie uma classe de função aqui
//1 ----------------------------------
TShowPerSN = função (AHandle: THandle; ACaption: String): BOOL;
EDLLLoadError = class(Exception); //Cria uma classe de registro de erro ao mesmo tempo
//1 ----------------------------------
TMAINCLTR = class(TForm) //Nenhuma alteração aqui, o sistema gera automaticamente
...
procedimento TMAINCLTR.ToolButton1Click(Remetente: TObject);
var //Evento de chamada de botão: processo de chamada
LibHandle: THandle;
ShowPerSN: TShowPerSN;
começar
Application.Title:='Programa de teste de arquivo DLL do sistema de gerenciamento de recursos humanos';
{Tentativa de carregar a DLL Tentativa de carregar o arquivo DLL}
LibHandle := LoadLibrary('MGRPERSN.DLL');
tentar
se LibHandle = 0 então
raise EDLLLoadError.Create('Não foi possível carregar MGRPERSN.DLL com sucesso');
@ShowPerSN := GetProcAddress(LibHandle, 'ShowPerSN');
se não (@ShowPerSN = nulo) então
ShowPerSN(Application.Handle, 'Personnel Information Management')//Chame o formulário
outro
RaiseLastWin32Error;
finalmente
FreeLibrary(LibHandle); // Descarrega a DLL.
fim;
fim;
============== FIM =================
Blog do autor: http://blog.csdn.net/dgc/