PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → Como alternar entre o modo teste e o modo produção sem mudar nada no código (alternar entre modo test/desenvolvimento e modo produção ou homologação
Como alternar entre o modo teste e o modo produção sem mudar nada no código (alternar entre modo test/desenvolvimento e modo produção ou homologação
Iniciado por Boller, out., 11 2025 4:21 PM - 1 resposta
Membro registado
4.597 mensagems
Publicado em outubro, 11 2025 - 4:21 PM
Bom dia

Como alternar entre o modo de desenvolvimento e o modo de produção?

Exemplo

/// No início da app (por ex. Global declarations do projeto)

//Só na linha do ServerConnection mude para:

// No início da app (por ex. Global declarations do projeto)

//Só na linha do ServerConnection mude para:

[code:wl]
//Conexao
HModifyStructure("*") //sem isso nao funciona!!!!!!!
HCreationIfNotFound("*") //sem isso nao funciona!!!!!!!


//Aqui está a diferença

IF InTestMode() THEN

// --- Ambiente de teste (F9): base local ---

ServerConection..Server = “177.69.238.21:4901

ELSE

// --- Ambiente de produção (deploy): base do servidor ---

ServerConection..Server = “dbhfsql.wxlocal.com:4901

END


//Aqui termina a diferença

ServerConection..provider = hAccessHFClientServer
ServerConection..user = "admin"
ServerConection..password = 123456
ServerConection..database = db_teste

IF HOpenConnection(ServidorRemoto) = True
HChangeConnection("*",ServidorRemoto)
ELSE
Info(HErrorInfo())
END



Em vez de fazer assim fica fixo e não identifica a tecla F9:

//Conexao

HModifyStructure("*") //sem isso nao funciona!!!!!!!
HCreationIfNotFound("*") //sem isso nao funciona!!!!!!!

ServerConection..Server = “177.69.238.210:4901
ServerConection..provider = hAccessHFClientServer
ServerConection..user = "admin"
ServerConection..password = 123456
ServerConection..database = db_teste

IF HOpenConnection(ServidorRemoto) = True
HChangeConnection("*",ServidorRemoto)
ELSE
Info(HErrorInfo())
END



Outro exemplo

//##############################
// ?? Conexão dinâmica com HFSQL via INI + InTestMode()

// Estrutura: app.ini
// [TESTE]
// SERVER=localhost
// DATABASE=DB_LOCAL
// USER=usr_local
// PASSWORD=pwd_local
//
// [PROD]
// SERVER=SRV-DB
// DATABASE=DB_PROD
// USER=usr_prod
// PASSWORD=pwd_prod

Procedure InicializaConexaoHFSQL()

// Variáveis
modoExecucao is string
secaoINI is string
servidor is string
banco is string
usuario is string
senha is string
conexao is Connection

// Detecta se está rodando em modo F9 (teste local)
IF InTestMode() THEN
modoExecucao = "TESTE"
ELSE
modoExecucao = "PROD"
END

secaoINI = modoExecucao

// Caminho do arquivo INI (na mesma pasta do executável)
arqINI is string = fExeDir() + ["\"] + "app.ini"

// Verifica se arquivo existe
IF NOT fFileExist(arqINI) THEN
Error("Arquivo INI não encontrado: " + arqINI)
RETURN
END

// Lê parâmetros da seção correspondente
servidor = fLoadText(arqINI, secaoINI, "SERVER")
banco = fLoadText(arqINI, secaoINI, "DATABASE")
usuario = fLoadText(arqINI, secaoINI, "USER")
senha = fLoadText(arqINI, secaoINI, "PASSWORD")

// Valida parâmetros
IF servidor = "" OR banco = "" THEN
Error("Parâmetros inválidos no INI. Verifique seção: " + secaoINI)
RETURN
END

// Define a conexão
HDescribeConnection("cnxAuto", servidor, 4900, usuario, senha, banco, hNativeAccessHFClientServer)
HOpenConnection("cnxAuto")

// Testa conexão
IF HCheckConnection("cnxAuto") = False THEN
Error("Falha ao conectar com o servidor HFSQL: " + servidor + CR + HErrorInfo())
RETURN
END

// Troca todas as tabelas para esta conexão
HChangeConnection("*", "cnxAuto")

Trace("Conexão estabelecida em modo: " + modoExecucao + " (" + servidor + ")")
RESULT(True)

//##############################


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
4.597 mensagems
Publicado em outubro, 11 2025 - 4:25 PM
Mudança feita no arquivo Host com Bloco de Notas em modo Executar como Administrador

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
20.20.20.1 dbpgsql.wxlocal.com
20.20.20.1 dbhfsql.wxlocal.com
20.20.20.1 serverwx02.hfsql.com.br

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/