Jump to content
Fivewin Brasil

sambomb

Membros
  • Posts

    1,951
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by sambomb

  1. Não deveria simplesmente forçar o foco na sua aplicação sempre? Se já tiver na sua aplicação não vai fazer diferença, se tiver em outra vai forçar a ir pra sua...
  2. Acho que é só mudar de 0 pra 1 no segundo parâmetro.
  3. Pode chamar a tela financeira de dentro da tela de vendas ou se precisar realmente alternar entre elas, pode chamar de dentro da tela financeira em um formato não modal e se for o caso desabilitar manipulação do banco de dados enquanto estiver nesse formato.
  4. function GetHbArrayVar(HbArrayVar: string; Indexes: Variant): Variant Parameters: <HbArrayVar> – name of [x]Harbour array variable. <Indexes> - array element index. Returns value of an element of [x]Harbour array. Example: [GetHbArrayVar('MyArray', [6])]
  5. O uso do sysfresh ainda é indicado para o aplicativo não ser percebido pelo SO como travado o que pode levar ao usuário a forçar o fechamento via Gerenciador de tarefas por exemplo, fora que se for feito em um computador Single core vai impossibilitar/inviabilizar o uso de outros aplicativos em paralelo.
  6. Por isso que falei para usar um MsgRun para impedir o usuário de acessar qualquer componente enquanto é executada a rotina.
  7. Melhor que fazer isso que o EMOTTA falou é jogar essa rotina para um MsgRun()
  8. Não seria hom.nfe.fazenda.gov.br/portal/webServices.aspx‎ ao invés de hom.sefazvirtual.fazenda.gov.br ?
  9. Tenta fazer assim: aItem := Array(9999) For i := 1 to Len(aItem) aItem := StrZero(i,4) End oCol:bstrData := {| | If(oDB_OSERVICO_ITENS: nArrayAt > 0 .And.; oDB_OSERVICO_ITENS: nArrayAt <= 9999, aItem[oDB_OSERVICO_ITENS: nArrayAt], "0000"}
  10. Não precisa aparecer a tela não, se você fizer o download do ftp via programação, pesquisa direitinho aqui e no fórum internacional que você vai ter bastante material.
  11. sambomb

    Ajuda

    Manda o CV para lucasgproj@gmail.com No mais boa sorte ae
  12. -27 é um tipo de erro padrão... Pode ser um desses motivos Fim de papel Pouco papel Erro no relógio Impressora em erro Comando não iniciado com ESC Comando inexistente Cupom aberto Número de parâmetro(s) inválido(s) Tipo de parâmetro de comando inválido Memória fiscal lotada Erro na memória RAM Alíquota não programada Capacidade de alíquotas lotada Cancelamento não permitido CNPJ/IE do proprietário não programado Comando não executado
  13. Coloca a Tag Code para facilitar a visualização [ code ] //Seu código [/ code ] Obs.: sem espaços entre code e os colchetes
  14. Usa as janelas de forma modal que vai te agilizar bastante
  15. Se for o caso muda direto naquela função que te passei o select para DbSelectArea( ) Muda seus selects para aquela função e veja se persiste o erro.
  16. DEVE ser um DbCloseAll() perdido por ae Com a mensagem das chamadas anteriores não deu pra identificar aonde que pode ter ocorrido o erro não?
  17. Hasa, até onde eu sei a partir do momento que você abriu com um Alias ele vai funcionar nesse Alias independente do local de onde foi aberto... Exemplo: C:\Pasta1\Teste.dbf C:\Pasta1\Teste.dbf C:\Pasta1\Teste.dbf ... C:\Pasta99\Teste.dbf For i := 1 to 99 cPath := "C:\Pasta" + AllTrim(Str(i,2))+"\Teste.dbf" cAlias := "ALIAS" + AllTrim(Str(i,2)) Use &cPath Alias &cAlias VI "DBFCDX" SHARED NEW End Select ALIAS1 Select ALIAS2 // ... Select ALIAS3
  18. Tem nada de errado nisso não, tanto a dialog quanto o buttonbmp tem herança da TWindow o comando click mesmo só está sendo executado uma vez.
  19. Function SelecionaAlias( cDBF ) Local aAlias := {}, i := 0, lResult := .T. If ValType(cDBF) != "C" ? "Formato do parâmetro é inválido" Return .F. End While !Empty(Alias(i)) aAdd(aAlias,Upper(Alias(i))) i++ end if aScan(cDBF,aAlias) <= 0 ? "Alias " + cDBF + " não foi encontrado" lResult := .F. Else Select( cDBF ) end Return lResult Troca o seu select por essa função ae, em algum momento você ta mandando o parâmetro vazio/nulo //Select(cDBF) If !SelecionaAlias( cDBF ) ? "Ocorreu algum erro, chamadas anteriores:" + CRLF+; (ProcFile( 1 ) ) + " -> " + Trim( ProcName( 1 ) ) + " " + StrTrim( ProcLine( 1 ) ) + CRLF +; (ProcFile( 2 ) ) + " -> " + Trim( ProcName( 2 ) ) + " " + StrTrim( ProcLine( 2 ) ) + CRLF +; (ProcFile( 3 ) ) + " -> " + Trim( ProcName( 3 ) ) + " " + StrTrim( ProcLine( 3 ) ) + CRLF +; (ProcFile( 4 ) ) + " -> " + Trim( ProcName( 4 ) ) + " " + StrTrim( ProcLine( 4 ) ) + CRLF +; (ProcFile( 5 ) ) + " -> " + Trim( ProcName( 5 ) ) + " " + StrTrim( ProcLine( 5 ) ) end
  20. Use antes desse select para debugar, essa matriz causaria muito transtorno para controlar em todo o sistema apesar de ser possível com o uso dos comandos certos no repl.ch ou similar... Mas no seu caso ae serviria apenas para debugar mesmo o que você está passando na função para identificar onde está seu erro.
  21. While !Empty(Alias(i)) aAdd(aAlias,Upper(Alias(i))) i++ end if aScan(cDBF,aAlias) <= 0 ? "Alias " + cDBF + " não foi encontrado" end
  22. if IsWin64() ? "64 Bits" Else ? "32 Bits" End
×
×
  • Create New...