Posté le 10 mars 2016 - 22:58
|
Prezados,
Trabalhando
com a WDL/DLL consigo centralizar meus processos, facilitando a
Manutenção dos Projetos, pois qdo preciso fazer manutenção em alguma
rotina só preciso alterar em um único local (WDL/DLL), antes eu
precisava mapear todos os projetos que estavam utilizando a rotina
alterada e alterar um por um, ficando as vezes algum lugar sem alterar.
Minhas
rotinas de Cálculos de estoque, Lançar Cheques, Lançar Itens na Venda,
etc... deixei na WDL/DLL, qdo preciso apenas chamo no projeto a minha
WDL/DLL...
Dessa forma também algumas tabelas que só são
utilizadas na WDL/DLL, não preciso adicionar na analise do Projeto,
deixando assim a analise do meu projeto mais "leve".
Procedure Add_Cheque_Aguardando_Aprovacao(pData, pVencto, pHistorico, pValor, pCheque, pId_Banco, pBanco, pId_Cliente,pNome_Cliente, pCpf, pAgencia, pCMC, pConta,pID_AUTORIZACAO, pTIPO_AUTORIZACAO)
bAddCheque is boolean = False
sId_Autorizacao is string = ""
sDestinoDLL is string = fCurrentDir()+"\VLINK.wdl"
IF fFileExist(sDestinoDLL)=False THEN
NextTitle("Verifique...")
Error("Não possível localizar o Arquivo VLINK.wdl no caminho:",sDestinoDLL,"","PROCEDURE: EXTERN: WIN_DLL_VLINK_Add_Cheque_Aguardando_Aprovacao","CHAMADA NA PROCEDURE: Add_Cheque_Aguardando_Aprovacao")
gnFalha = 1
RESULT bAddCheque
ELSE
gnFalha = 0
EXTERN WIN_DLL_VLINK_Add_Cheque_Aguardando_Aprovacao
hInst is int = LoadWDL(fCurrentDir()+"\VLINK.wdl")
IF hInst = 0 THEN
gnFalha = 1
Error(ErrorInfo())
ELSE
IF NOT HOpenAnalysis(fExeDir() + "\VLINK.wdd") = False
bAddCheque = Open(WIN_DLL_VLINK_Add_Cheque_Aguardando_Aprovacao, gnEM, gnId_Filial, gsLogin, gsTipoVendaOuPedido, 0, gnID_ContaCaucao, pData, pVencto, pHistorico, pValor, pCheque, pId_Banco, pBanco, pId_Cliente,pNome_Cliente, pCpf, pAgencia, pCMC, pConta,pID_AUTORIZACAO, pTIPO_AUTORIZACAO)
HCloseAnalysis()
HOpenAnalysis("C:\My Projects\VendasVlink\VendasVlink.ana\VendasVlink.wdd")
END
END
UnloadWDL(hInst)
IF gnFalha = 1 THEN
NextTitle("Aviso ")
Error("Houve Falha na Comunicação com a Dll (Vlink.wdl) !!!","Verifique com Analista:","PROCEDURE: EXTERN: WIN_DLL_VLINK_Add_Cheque_Aguardando_Aprovacao","CHAMADA NA PROCEDURE: Add_Cheque_Aguardando_Aprovacao")
RESULT bAddCheque
END
RESULT bAddCheque
END
Cada
projeto estou usando uma analisys, meu banco SQL tem muitas tabelas...e
assim uso somente as tabelas que realmente utilizam no projeto..não
preciso adicionar todas tabelas...
Ex: Algumas tabelas utilizo somente no módulo de Caixa..então não preciso adicionar essas no modulo de vendas
Na dll...fica todas tabelas * uma analisys com todas tabelas do meu banco complementando... no inicio de toda janela na dll..faço o seguinte código:
http://screencast.com/t/jHZyObR80
Para carregar o connection de acordo com meu arquivo SQL.INI
http://screencast.com/t/7A2jn0t8G
O comando (ExecuteProcess(BTN_LancarCheque,trtClick)) no end of initialization ...
Abre a tela e já executa o bota automático código do botão executado:
http://screencast.com/t/IAsRZMBd
Bons estudos
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 9949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.blogspot.com.br/
|
|
|
|
|
|
|