EDUTEK Posted June 1, 2018 Report Share Posted June 1, 2018 Boa tarde Tenho um GET num programa para emissao de MDFE, o get e para digitar o codigo do Barras do CT-e ou passar o leitor quando Digito o sistema não dá erro ou se copio e colo a chave no get function movsai_mdf_imp_um() local oDlg, oBrush, oFont local mxChave := SPACE(44) mxPesq := space(44) mxAverb := space(44) mchave := "" lMaisdeUm := .f. lCartaCorrecao := .f. Set Confirm on SET SOFTSEEK ON DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14 DEFINE DIALOG oDlg SIZE 700,220 ; PIXEL TITLE "INFORMA A CHAVE DA CTE A PESQUISAR" @ 10,10 SAY "Informe a Chave do CT-e " SIZE 80,12 PIXEL OF oDlg @ 25,10 GET oGet VAR mxPesq Picture "@!" SIZE 170, 12 PIXEL OF oDlg UPDATE @ 3,1 CHECKBOX lmAISDEuM PROMPT "&Tem mais de um CT-e o MDF-e." OF oDlg @ 4,1 CHECKBOX lCartaCorrecao PROMPT "Tem Carta de Correção este CT-e." OF oDlg @ 70,10 SAY "Informe o No. da Averbação " SIZE 120,12 PIXEL OF oDlg @ 85,10 GET oGet2 VAR mxAverb Picture "@!" SIZE 170, 12 PIXEL OF oDlg @ 10,250 BTNBMP PIXEL OF oDlg PROMPT "Executa" TOOLTIP "Executar a Pesquisa" FILE mrede_path+"\imagem\CONFIR.bmp" 2007 ACTION {( MOVSAI_MDF_IMP(alltrim(mxPesq),mxAverb),oDlg:end())} SIZE 32, 32 ACTIVATE DIALOG oDlg CENTERED RELEASE FONT oFont SET SOFTSEEK OFF Set Confirm off dbselectarea("movfin") dbseek(mchavefil+MCHAVE) ORDSCOPE(TOPSCOPE,mchaveFil) ORDSCOPE(BOTTOMSCOPE,mchaveFil) movfin->( dbgotop() ) movfin->( dbgobottom() ) * movsai_mdf_R() return nil Mas quando leio pelo leito ele me apresenta o seguinte erro Application =========== Path and name: D:\Aplicx\CONES\cones.EXE (32 bits) Size: ********* bytes Compiler version: xHarbour build 1.0.0 Intl. (SimpLex) FiveWin Version: FWHX 9.04 Windows version: 6.2, Build 9200 Time from start: 0 hours 0 mins 17 secs Error occurred at: 01/06/2018, 13:07:15 Error description: Error BASE/1111 Argument error: LEN Args: [ 1] = U Stack Calls =========== Called from: => LEN( 0 ) Called from: TGET.prg => TGET:KEYCHAR( 1155 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) Called from: tget.prg => GET:OVERSTRIKE( 1256 ) Called from: TGET.prg => TGET:KEYCHAR( 1146 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) Called from: tget.prg => GET:OVERSTRIKE( 1256 ) Called from: TGET.prg => TGET:KEYCHAR( 1146 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) Called from: tget.prg => GET:OVERSTRIKE( 1256 ) Called from: TGET.prg => TGET:KEYCHAR( 1146 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) Called from: tget.prg => GET:OVERSTRIKE( 1256 ) Called from: TGET.prg => TGET:KEYCHAR( 1146 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) Called from: tget.prg => GET:OVERSTRIKE( 1256 ) Called from: TGET.prg => TGET:KEYCHAR( 1146 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) Called from: tget.prg => GET:OVERSTRIKE( 1256 ) Called from: TGET.prg => TGET:KEYCHAR( 1146 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) Called from: tget.prg => GET:OVERSTRIKE( 1256 ) Called from: TGET.prg => TGET:KEYCHAR( 1146 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) Called from: tget.prg => GET:OVERSTRIKE( 1256 ) Called from: TGET.prg => TGET:KEYCHAR( 1146 ) Called from: => TWINDOW:HANDLEEVENT( 0 ) Called from: CONTROL.prg => TCONTROL:HANDLEEVENT( 1453 ) Called from: TGET.prg => TGET:HANDLEEVENT( 588 ) Called from: WINDOW.prg => _FWH( 3333 ) Called from: => DISPOUTAT( 0 ) Called from: tget.prg => GET:DISPLAY( 621 ) que pode ser feito ? tenho um outro programa identico mas em FWH 18.01 e BCC 7.00 que tem a mesma funcao ele nção dá esse erro, outra coisa no win 7 não dá mas se executo no Win 10 dá, que dá para fazer neste caso. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 1, 2018 Report Share Posted June 1, 2018 Normal aqui, veja qual é a linha exata da quebra e veja as alterações como eu vejo o módulo. https://imgur.com/EsBbdgb #include "FiveWin.ch" function movsai_mdf_imp_um() local oDlg, oBrush, oFont, oBtnPesq local mxChave := SPACE(44) LOCAL MREDE_PATH := "C:\FWH1701" // retire e pare o PATH mxPesq := space(44) mxAverb := space(44) mchave := "" lMaisdeUm := .f. lCartaCorrecao := .f. Set Confirm on SET SOFTSEEK ON DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14 DEFINE DIALOG oDlg SIZE 700,220 ; TITLE "INFORMA A CHAVE DA CTE A PESQUISAR" PIXEL @ 10,10 SAY "Informe a Chave do CT-e " OF oDlg SIZE 80,12 PIXEL @ 25,10 GET oGet VAR mxPesq Picture "@!" OF oDlg UPDATE SIZE 170, 12 PIXEL @ 3,1 CHECKBOX lmAISDEuM PROMPT "&Tem mais de um CT-e o MDF-e." OF oDlg @ 4,1 CHECKBOX lCartaCorrecao PROMPT "Tem Carta de Correção este CT-e." OF oDlg @ 70,10 SAY "Informe o No. da Averbação " OF oDlg SIZE 120,12 PIXEL @ 85,10 GET oGet2 VAR mxAverb Picture "@!" OF oDlg SIZE 170, 12 PIXEL @ 10,250 BTNBMP oBtnPesq PROMPT "&Executar" OF oDlg PIXEL ; TOOLTIP "Executar a Pesquisa" ; FILE mrede_path+"\imagem\CONFIR.bmp" 2007 ; ACTION ( MOVSAI_MDF_IMP(alltrim(mxPesq), mxAverb ), oDlg:end() ) ; SIZE 32, 32 CANCEL ACTIVATE DIALOG oDlg CENTERED RELEASE FONT oFont SET SOFTSEEK OFF Set Confirm off dbselectarea("movfin") dbseek(mchavefil+MCHAVE) ORDSCOPE(TOPSCOPE,mchaveFil) ORDSCOPE(BOTTOMSCOPE,mchaveFil) movfin->( dbgotop() ) movfin->( dbgobottom() ) * movsai_mdf_R() return nil FUNCTION MOVSAI_MDF_IMP() ? "pesquisa" RETURN NIL Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 1, 2018 Report Share Posted June 1, 2018 Error description: Error BASE/1111 Argument error: LEN quando você cola e copia, pare o tamanho do Código de barras, 44 será que pode mesmo? Código de barras imenso. Mas... Quote Link to comment Share on other sites More sharing options...
EDUTEK Posted June 2, 2018 Author Report Share Posted June 2, 2018 quando copio e colo ou quando digito manualmente funciona sem problemas. eu coloquei o get multiline e coloquei com umas 4 linhas, quando passo o leitor ele manda coisa a mais, pois geralmente é um codigo + um CRLF neste caso ele preenche o campo e salta 2 linhas a mais, parece que dá 2 CRLF., mas isso só ocorre no Win 10, com o fivewin 9.04/bcc 5.5, de uso o fivewin 18.01 e bcc 7 não da o erro. Quote Link to comment Share on other sites More sharing options...
evertonlb Posted June 3, 2018 Report Share Posted June 3, 2018 quando copio e colo ou quando digito manualmente funciona sem problemas. eu coloquei o get multiline e coloquei com umas 4 linhas, quando passo o leitor ele manda coisa a mais, pois geralmente é um codigo + um CRLF neste caso ele preenche o campo e salta 2 linhas a mais, parece que dá 2 CRLF., mas isso só ocorre no Win 10, com o fivewin 9.04/bcc 5.5, de uso o fivewin 18.01 e bcc 7 não da o erro. Edu.. pode ser besteira.. mas eu dou um valid no get e du um retorno da variável com o Alltrim(). tentou isso? Att. Everton Quote Link to comment Share on other sites More sharing options...
EDUTEK Posted June 8, 2018 Author Report Share Posted June 8, 2018 Desculpe a demora, eu resolvi usando um Get Muitiline, mas vou testar o Alltrim no valid Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.