sexta-feira, 11 de março de 2016

Wx - Trabalhando com WDL (similar DLL)



Forum - forum.pcsoft.fr/fr-FR/pcsoft.br.windev/1039-trabalhando-com-wdl-similar-dll-1040/read.awp

Posté le 11 mars 2016 - 01:15
Muito obrigado ao sr Julio Pedroso (Pedrosão) que ajudou o Danilo a criar o exemplo acima.



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") // da sua chamada atual
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

:merci:

--
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/




0
0






Membre enregistré
1 528 messages
Popularité : +89 (91 votes)

Posté le 10 mars 2016 - 22:59
Muito obrigado Danilo Valim!

--
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/









Nenhum comentário:

Postar um comentário

Teste

Teste
teste