comando Request dentro de #IfDef, If-Then e/ou Case-EndCase

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

leosystem
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 05 Abr 2010 17:34
Localização: São Paulo-SP

comando Request dentro de #IfDef, If-Then e/ou Case-EndCase

Mensagem por leosystem »

Olá,

Estou desenvolvendo uma aplicação em xHarbour + SQLRDD conectando com banco Firebird. Por este motivo, estou utilizando a função SR_AddConnection e, devido à utilização da mesma, não tenho como fugir da exigência do SQLRDD + Firebird em se ter a FBClient.DLL (seja no diretório do executável da aplicação e/ou nos diretórios mapeados através do SET PATH).

Até aí estou conseguindo obter a conexão com o Firebird perfeitamente. Mas tem um detalhe: esta mesma aplicação ainda terá que se conectar em cliente com o banco DBase (arquivos .DBF), dependendo de um parâmetro que defino em arquivo externo (por exemplo, arquivo.ini de parâmetros de configuração, conexão, etc.).

E é justamente aí meu problema: Não posso (mesmo sendo gratuito) distribuir o FBClient.DLL nestes clientes que irão conectar apenas em DBF, pois, devido a quantidade e limitações de estruturas nestes clientes, iria me criar uma série de problemas.

O que preciso?
Apenas saber se é possível e, caso seja, ver algum exemplo (caso alguém tenha algum) de como incluir a expressão REQUEST SR_FIREBIRD dentro de um If-Then, Case-EndCase, ou alguma outra estrutura similar.

Tentei de "n" maneiras, inclusive criando diretiva de compilação (#define BancoDBF quando conectado a este) e no momento de aplicar o comando, utilizei do seguinte modo:

#IfDef BancoDBF
Request SR_FIREBIRD
#EndIf

Mas também não rolou. Deu erro de Undefined Function "SR_FIREBIRD" quando estivesse informado conexão em banco Firebird no arquivo (.ini) de parâmetros de configuração/conexão.

Se alguém puder dar alguma "luz", por gentileza, manifeste-se sobre este assunto.

Grato.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: comando Request dentro de #IfDef, If-Then e/ou Case-EndCase

Mensagem por Itamar M. Lins Jr. »

Ola!

Código: Selecionar todos

#define FIREBIRD

#IfDef FIREBIRD
  Request ...
#EndIf
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
leosystem
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 05 Abr 2010 17:34
Localização: São Paulo-SP

Re: comando Request dentro de #IfDef, If-Then e/ou Case-EndCase

Mensagem por leosystem »

Olá Itamar,

Talvez eu não tenha sido claro nas palavras.. Na verdade, preciso que, mesmo neste seu exemplo, o compilador "não processe" a linha do request, quando a condição do #ifdef..#endif não for verdadeira. Isto já resolveria 101% meu problema.

Grato.
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Re: comando Request dentro de #IfDef, If-Then e/ou Case-EndCase

Mensagem por momente »

Amigo,

Código: Selecionar todos

#define FIREBIRD
	 
#IfnDef FIREBIRD
   Request ...
#EndIf
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Responder