Jump to content
Fivewin Brasil

giovanyvecchi

Membros
  • Posts

    793
  • Joined

  • Last visited

  • Days Won

    13

Everything posted by giovanyvecchi

  1. João, inclua o prg tMetro.prg no seu projeto e comente uma linha que faz fechar. ACTIVATE WINDOW ::oWnd MAXIMIZED //; //ON CLICK ::oWnd:End() Não sei o porque fizeram assim, não tem sentido fechar se clicar fora de algum controle.
  2. Tem que ver se a lib é referente a linguagem que você esta tentando gerar o programa. Quando este erro aparece, provavelmente a lib não pertence ao compilador escolhido. Exemplo: Uma lib para MSVC não compila para BCC Se a lib é para BCC e esta aparecendo esta mensagem, ai tem que ver a versão, Bcc5.5 com Bcc7.3 exemplo.
  3. Coloque a verificação no dialogo assim oDlg:bKeyDown := <|nTecla,nFlag| If nTecla == VK_RETURN .and. oBtnMeu:lFocused oBtnMeu:Click() EndIf Return Nil >
  4. Tem que ver qual gerenciador da sybase esta instalado no servidor do seu cliente. 1-ADS (Advantage Database Server) 2-ASE (Adaptive Server Enterprise) 3-Sap SQL AnyWhere 4-Sap HANA
  5. Potei no forum internacional. Algumas câmeras não trocam a resolução de jeito nenhum, mais nos meus testes as câmeras de marca funcionaram todas. Peguei emprestado uma ChingLing que diz que era ful hd (1920X1080) só que funcionou somente 1280x720. http://forums.fivetechsupport.com/viewtopic.php?f=3&t=40722&sid=f0278ce029fe717e4dc14e4cbded401c
  6. Obrigado Vailtom pela ideia. Mais adiante vou pensar nestas possibilidades buscando estes HRBs diretamente do meu servidor em uma tabela com campos binarios.
  7. Brigado pela resposta Vailton. Tenho muitas classes, e uma classe herda de outras que estão separados nos varios prgs em grupos. Neste caso eu teria que colocar estes grupos de classes. Por enquanto vai definido nos #IF na compilação mesmo.
  8. JmSilva, obrigado pela explicação. Perguntei errado, queria saber se tem como colocar varios prgs em apenas um arquivo .hrb
  9. Aproveitando o tópico gostaria de saber se tem como criar apenas um arquivo .hrb com varias funções nele.
  10. O certo seria: oHttp:Open("POST",cUrl,.F.) Tente desta maneira: oHttp:setRequestHeader("Authorization","Bearer "+vcliappl) oHttp:setRequestHeader("Content-Type","application/json") oHttp:Send("X-Authorization-Raw-Data=07956658000110&X-Authorization-Encrypted-Data=43d2be2913d2ce3e3042e8c6115e41bfe4a2bd90ef71ea3660eaa2201bead1c28b17243c958b47d90e5d2ec3dcd38c7066a710e9f18238cb8b7809c8817fcfe1")
  11. Tem varios detalhes. inclua meu skype: giovany.vecchi
  12. Coloque assim oDlg_BUSCA:bPainted = { | hDC | PalBmpDraw( hDC , 00 , 00 , oBmp_BUSCA:hBitmap , oDlg_BUSCA:nWidth , oDlg_BUSCA:nHeight)
  13. Da uma olhada aqui: https://docs.microsoft.com/pt-br/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings
  14. Veja bem. Para usar a tAds você não precisa alterar nenhuma forma de funcionamento dos seus códigos, apenas complementar conforme for retificando. 1-Primeiramente, importar seus DBFs e criar um dicionario de dados. 2-Iniciar o programa com TADS_START_CONFIG() 3-Abrir o dicionário de dados Ex: Local nConnectionServer := 1 TADS_START_CONFIG() // Parametriza e cria os ambientes para uso do Advantage DataBase Server oMyConnectionServer := tAdsConnection():New(nConnectionServer,.T.) // .T. Para informar que esta conexão é a Padrão (Por Falta) oMyConnectionServer:cDataDictionary := "\\SERVER\REDE\DADOS\MyDataDictionary.add" oMyConnectionServer:cUserLogin := "adssys" oMyConnectionServer:cSenhaConnect := "123456" oMyConnectionServer:nTpConnect := 7 Depois para abrir as tabelas você troca os comandos assim: Antes: USE ("C:\CAMINHO\CLIENTES.DBF") ALIAS CLIENTES NEW CLIENTES->(BROWSE()) Depois: USE "CLIENTES" ALIAS CLIENTES NEW (CLIENTES)->(BROWSE()) Outra observação que deve ser contestado são as funções de usuário que estão sendo usadas nas TAGs dos Índices, Ex: Index on My_Function(blabla) TAG TSTFUN TO "C:\CAMINHO\CLIENTES.CDX" Os índices são criados no dicionário de dados, e quando você apagar eles fisicamente e abrir somente a tabela ADT os índices são criados automaticamente. Uma enorme vantagem do ads é quando vc tem uma tabela com varias tags de índices e convencionalmente você teria que executar o INDEX ON para cada uma delas. No ads todas as Tags são criadas ao mesmo tempo. Antes de usar dicionário de dados a reindexação durava uns 5 minutos, depois caiu para 45 segundos. Para ver as funções compatíveis com clipper que funcionam nos processos de criação das tags de índices e filtros consulte no help do Advantage por 'SCALAR FUNCTIONS'.
  15. Trabalho com ADS desde 2003/2004 com DBF até 2007, depois ja comecei a usar com ADT e Dicionários de dados. Hoje meu sistema trabalha com a base de dados de um cliente com 160 gb e eles trabalham home-office em alguns casos. Com DBF tive alguns problemas, principalmente no xbrowse, então criei a classe tAds para trabalhar estilo OOP igual C# no harbour com FW. Você pode baixar a classe aqui: https://github.com/giovanyvecchi/tAdsGit Neste repositório tem o Dbf2Advantage.exe que é um aplicativo para converter seus DBFs em ADTs com Dicionário de dados. Leia o help para ver a classe. De qualquer maneira tenta abrir os arquivos assim: use ("C:\CaminhoCompleto\TESTE2") Alias TESTE2 exclusive NEW via "ADSCDX"
  16. Alguns anos atrás tive que desativar alguns botões e adicionar outros no preview. Se o preview for MODAL tem que executar a função TIME_FUNCTION_EXEC() antes do ENDPRINTER, se não for modal é só colocar as linhas após ENDPRINTER. PRINTER oPrnAponta NAME "Livro de Apontamentos"; TO P_CONFIG_PRN_GET(3) preview MODAL TIME_FUNCTION_EXEC({||oPrnAponta:oPreView:oBar:aControls[8]:Disable(),; oPrnAponta:oPreView:oBar:aControls[9]:Disable(),; oPrnAponta:oPreView:oBar:aControls[10]:Disable(),; oPrnAponta:oPreView:oBar:aControls[11]:Disable(),; oPrnAponta:oPreView:oBar:aControls[12]:Disable()},1) ENDPRINTER ///////////////////////////////////////////////////////////////////////////// FUNCTION TIME_FUNCTION_EXEC(f_CodeBlock, f_nTempo) Local _oTempo Default f_nTempo := 1 //1 Segundo f_nTempo := f_nTempo*1000 Define timer _oTempo interval f_nTempo of WndMain() ; action { _oTempo:DeActivate(),; Eval(f_CodeBlock),; _oTempo:DeActivate(),_oTempo:end()} Activate timer _oTempo return NIL
  17. Coloque assim ACTIVATE WINDOW oWndTeste ; ON INIT SetWindowPos(oWndTeste:hWnd,-1)
  18. Na sua função principal coloque assim INIT PROCEDURE MAIN()
  19. Kapi, Vou explicar o que acontece. As vezes voce tem procedimentos iniciais que podem ocorrer erros e o sistema que chama o procedimento de erro esta chamando ErrorLink() do harbour. Isto porque o modulo Errsysw.prg que esta na lib FiveH.lib não foi chamado conforme a ordem de sequencia dos modulos prgs. Se vc colocar o Errsysw.prg como segundo prg da lista, automaticamente a chamada de procedimentos do erro do harbour (ErrorLink()) será substituido por ErrorSys() do Fivewin. Assim se der um pau no primeiro prg pode ser que o erro não seja chamado (ErrorSys()) Olhe no Source do Fivewin o prg errsysw.prg que voce vai entender.
  20. No primeiro PRG de seu sistema antes da função inicial (MAIN()) coloque estas linhas. procedure ErrorLink() return
×
×
  • Create New...