Olá pessoal!
Recentemente fui questionado sobre o funcionamento da modularização de aplicações desenvolvidas em Delphi, através de Bpl’s e confesso que ainda não havia trabalhado com este recurso. Após realizar uma pesquisa sobre o funcionamento, descobri que é realmente um excelente recurso. Principalmente para grandes aplicações, onde poderá ser reduzido significativamente o tamanho do executável, ou para aplicações onde o executável não pode ser alterado.
De qualquer forma, não me prenderei em grandes explicações sobre as vantagens de desvantagens, pois já podemos encontra ma internet, diversos artigos falando sobre o assunto.
O grande ponto deste tutorial será a demonstração da modularização de uma aplicação pronta, usando de recursos simples e práticos.
Então vamos lá:
Primeiramente vamos criar uma pequena aplicação de cadastro de clientes, que será usada como exemplo. Para isso criemos um pequeno banco de dados utilizando o firebird. Segue o script:
CREATE GENERATOR GEN_CLIENTE_ID;
SET GENERATOR GEN_CLIENTE_ID TO 3;
CREATE PROCEDURE SP_GEN_CLIENTE_ID
RETURNS (
ID INTEGER)
AS
BEGIN
SUSPEND;
END
CREATE TABLE CLIENTE (
ID INTEGER NOT NULL,
NOME VARCHAR(40),
ENDERECO VARCHAR(40),
NUMERO VARCHAR(10),
COMPLEMENTO VARCHAR(10),
BAIRRO VARCHAR(20),
CIDADE VARCHAR(20),
UF CHAR(2),
CEP VARCHAR(10),
TELEFONE VARCHAR(20),
EMAIL VARCHAR(100)
);
ALTER TABLE CLIENTE ADD CONSTRAINT PK_CLIENTE PRIMARY KEY (ID);
CREATE TRIGGER CLIENTE_BI FOR CLIENTE
ACTIVE BEFORE INSERT POSITION 0
as
begin
if (new.id is null) then
new.id = gen_id(gen_cliente_id,1);
end
ALTER PROCEDURE SP_GEN_CLIENTE_ID
RETURNS (
ID INTEGER)
AS
begin
id = gen_id(gen_cliente_id, 1);
suspend;
end
Agora vamos criar um no projeto no Delphi e criar as telas conforme indicado nas imagens abaixo ou a critério próprio:
Proceda à ligação e codificação do projeto conforme o seu costume e compile o mesmo para certificar-se de esta tudo certo.
Com isso concluímos esta primeira parte do processo de modularização da aplicação. Na próxima parte do artigo vamos ver como criar a Bpl e depois chamar de dentro do aplicativo principal.
Até lá!