# Criar nova DLL

<p class="callout info">Uma DLL é um arquivo utilizado para a criação de Customizações</p>

Neste exemplo utilizaremos a criação de uma DLL para a empresa Matricer, e como base o caso do Mantis 47207

## **Criação da DLL**

Após fazer a cópia do trunk para uma pasta dentro do seu branch, navegue até a pasta Sistemas, copie o diretório, depois vá até **"outros/DLLs/Dlls Vazias"** e dê um **copy to** na dll do módulo que deseja utilizar, conforme as imagens abaixo:

  
[![image-1669820132059.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669820132059.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669820132059.png)

[![teladllvaziafontegrande.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/teladllvaziafontegrande.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/teladllvaziafontegrande.png)

Posteriormente vá até o local onde está sua DLL vazia e **renomeie** ela de acordo com o padrão:

**"Custom" + Sigla do Módulo + Nome do Cliente**

[![image-1669825865020.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669825865020.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669825865020.png)

Baixe seu código inteiro para darmos continuidade ao trabalho conforme modelo em [Local](https://wiki.supersoft.com.br/books/organizacao-e-dinamica-de-casos/page/local-698).

## **Modificações para o funcionamento da DLL**

Na pasta da **Custom** haverá um arquivo chamado **DllSource.pas**. Nele será preciso declarar o nome do Processo da DLL que será utilizado na função **ExisteProcesso**.

[![image-1669827736790.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669827736790.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669827736790.png)

[![image-1669827757254.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669827757254.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669827757254.png)

[![image-1669827876791.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669827876791.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669827876791.png)

Exemplo de utilização da função **ExisteProcesso**:

[![image-1669826128967.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669826128967.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669826128967.png)

<p class="callout warning">Ao adicionar em **"const ProcessoDestaDLL"**, é necessário colocar um **"|" (pipe)** e depois o nome do Processo da DLL em **letras maiúsculas**</p>

Também é necessário ir na pasta **project** e no arquivo **(Custom + Sigla do Módulo).dpr** e inserir o nome da DLL que aparecerá no canto inferior direito da tela do Módulo.

[![image-1669827639023.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669827639023.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669827639023.png)

[![image-1669826269892.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669826269892.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669826269892.png)

[![image-1669828093596.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/scaled-1680-/image-1669828093596.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-11/image-1669828093596.png)

## **Subindo a DLL para a pasta de DLLs**

Após realizar as alterações na DLL, é necessário subir ele para a pasta **EmFireDac Skin**.

Existem duas maneiras de realizar este processo.

### **Método 1:** 

Vá até a pasta **EmFireDac Skin (outros/DLLs/EmFireDac Skin)** e copie o caminho dela.

[![image-1669904134666.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904134666.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904134666.png)

Depois vá até onde está localizada sua pasta da Custom e de um [Copy To](https://wiki.supersoft.com.br/books/svn-basico/page/copy-to) dela para dentro da pasta **EmFireDac Skin.**

[![image-1669904407842.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904407842.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904407842.png)

### **Método 2:**

Primeiramente realize o [Checkout](https://wiki.supersoft.com.br/books/svn-basico/page/checkout) da pasta **EmFireDac Skin** para a sua máquina local.

[![image-1669904584039.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904584039.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904584039.png)

Posteriormente copie a sua pasta da **Custom** para dentro da pasta **EmFireDac Skin**.

[![image-1669904663665.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904663665.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904663665.png)

[![image-1669904722795.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904722795.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904722795.png)

Dê um **Add** na sua pasta da **Custom.**

[![image-1669904770617.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904770617.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904770617.png)

[![image-1669904786111.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904786111.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904786111.png)

Por fim, realize o [Commit](https://wiki.supersoft.com.br/books/svn-basico/page/commit) para a pasta **EmFireDac Skin**.

[![image-1669904910049.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904910049.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904910049.png)

[![image-1669904930043.png](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/scaled-1680-/image-1669904930043.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2022-12/image-1669904930043.png)

## **Executando sistema com a DLL**

Para executar o sistema, deverá mudar as configurações em 'Project &gt; Options'. Alterar as seguintes configurações:

[![image.png](https://wiki.supersoft.com.br/uploads/images/gallery/2024-12/scaled-1680-/image.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2024-12/image.png)

[![image.png](https://wiki.supersoft.com.br/uploads/images/gallery/2024-12/scaled-1680-/PGrimage.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2024-12/PGrimage.png)

Após configurar, realizar o build e executar.