Diretivas de compilação

Delphi

06/04/2017

Boa noite, gostaria de saber se há uma forma de inserir e remover diretivas de compilação em tempo de execução. Para o seguinte uso:

Digamos que eu possuo em meu uses duas units, e gostaria de que caso a diretiva estivesse setada, uma das uses fosse utilizada, e se não estivesse setada, outra unit fosse usada, mas a diretiva seria setada após o login do usuário.


uses {$IFDEF DIRETIVA} uCustom1; {$ELSE} uCustom2; {$ENDIF DIRETIVA}

Se houver uma forma de inserir uma diretiva interna do sistema, por favor, me mostrem exemplos.

Desde já agradeço.
Adhemar Alves

Adhemar Alves

Curtidas 0

Respostas

Raylan Zibel

Raylan Zibel

06/04/2017

Creio que o fato de ser diretiva de "compilação" faz com que essas configurações sejam processadas apenas quando você compila a aplicação.
O que você quer fazer pode ser feito de outras formas.
GOSTEI 0
Adhemar Alves

Adhemar Alves

06/04/2017

Então me ajude...Pensa comigo, eu tenho duas classes com o mesmo nome em units diferentes, uma dessas classes configura uma conexão datasnap e a outra configura uma conexão firedac local.
Quando o cliente selecionar o tipo de conexão na tela de login, eu quero executar uma das duas classes, mas as duas tem o mesmo nome...entendeu?
GOSTEI 0
Raylan Zibel

Raylan Zibel

06/04/2017

O ideal seria aplicar OO, eu acho... Sem mexer um pouco nas suas rotinas nao consigo ver uma solução ainda.

https://www.devmedia.com.br/heranca-e-polimorfismo-no-delphi/3220
GOSTEI 0
Adhemar Alves

Adhemar Alves

06/04/2017

Eu tenho duas classes, TCustomQuery(TFDMemTable) e outra TCustomQuery(TFDQuery) com seus métodos e funciona.
Elas estão em classes diferentes.
E eu preciso usar uma das duas pra retornar em um método, assim.
Query: TCustomQuery;

Como eu faria a escolha da unit pai?
GOSTEI 0
POSTAR