PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → WX - Correção do Bug geracao de relatorio de uma table para o excel
WX - Correção do Bug geracao de relatorio de uma table para o excel
Started by BOLLER, Sep., 29 2016 8:16 PM - 1 reply
Registered member
3,659 messages
Popularité : +175 (223 votes)
Posted on September, 29 2016 - 8:16 PM
Prezados,

Caso a geração de relatório de uma table para o excel esteja dando esse erro:

Unexpected system error.
If this error systematically occurs in the same conditions, contact PC SOFT Hot Line and specify:
- the error circumstances,
- a window, a project or the code lines used to replicate the problem,
- the details below.

Détails techniques :

Module : wd180xls.dll
Version du module : 18.0.36.0
VI : 01A180063c
Adresse de base : 03890000
Erreur système : Access violation (GPF)
EIP = 038B5CD3
OS : Windows 2008 R2 Service Pack 1(6.1.7601)

----- Technical Information -----

Project : ERP

What happened?
Unexpected system error.
If this error systematically occurs in the same conditions, contact PC SOFT Hot Line and specify:
- the error circumstances,
- a window, a project or the code lines used to replicate the problem,
- the details below.

Détails techniques :

Module : wd180xls.dll
Version du module : 18.0.36.0
VI : 01A180063c
Adresse de base : 03890000
Erreur système : Access violation (GPF)
EIP = 038B5CD3
OS : Windows 2008 R2 Service Pack 1(6.1.7601)

Error code: 1020
Level: fatal error (EL_FATAL)

Dump of the error of 'wd180vm.dll' module (18.0.150.7).
Identifier of detailed information (.err): 1020
Debugging information:

Détails techniques :

Module : wd180xls.dll
Version du module : 18.0.36.0
VI : 01A180063c
Adresse de base : 03890000
Erreur système : Access violation (GPF)
EIP = 038B5CD3
OS : Windows 2008 R2 Service Pack 1(6.1.7601)
Registres :

EIP = 038B5CD3 EBP = 0018ED50
EAX = 00300006 EBX = 00000000
ECX = 04800090 EDX = 00300008
ESI = 36817F68 EDI = 0B4C9510

Pile des appels :

[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038B5CD3
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038B5A07
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038B4468
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038B3CBC
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038A7A14
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038ABE66
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038AF05C
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038AE4DE
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038B15A5
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038B120B
[wd180xls.dll (03890000), 18.0.36.0, 01A180063c] 038C9A2F : Execution() + 51590 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25F76AA0 : InfoVersionWeb() + 574786 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 26074270 : pQueryProxy() + 422652 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25EE5120 : EXT_bSetVariableCollection() + 365376 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25EA0CA0 : Execution() + 82320 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25E78A90 : OBJ_pclGetTauxDeChange() + 21584 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25F76AA0 : InfoVersionWeb() + 574304 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25F76AA0 : InfoVersionWeb() + 594160 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25F76AA0 : InfoVersionWeb() + 596032 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25F76AA0 : InfoVersionWeb() + 596592 bytes
[wd180vm.dll (25E60000), 18.0.150.7, 01A180063c] 25F76AA0 : InfoVersionWeb() + 600800 bytes

Help



SOLUÇÃO:

REMOVER OS CARACTERES ESPECIAIS DE QUEBRA DE LINHA DE CAMPOS DE TEXTO, CRLF, 13,10, CR, LF

SEGUE CODIGO AUXILIAR A SER USADO ANTES DE USAR O TABLEADD(.....)

Procedure Noenter(Texto)

nTotal is int = Length(Texto)
nPos01 is int = 0
Busca is string = ""

Texto = Replace(Texto,CRLF,"")
Texto = Replace(Texto,CR,"")
Texto = Replace(Texto,"<13><10>","")
Texto = Replace(Texto,"<13>","")
Texto = Replace(Texto,"<10>","")
Texto = Replace(Texto,Charact(13)+Charact(10),"")
Texto = Replace(Texto,Charact(13),"")
Texto = Replace(Texto,Charact(10),"")
Texto = Replace(Texto,"","")
Texto = NoSpace(Texto)
Texto = NoAccent(Texto)
Texto = Replace(Texto,"","")

//Remove caracteres diferentes da lista abaixo:
aZ09 is string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[ ]0123456789'&*()_+=-,.!@#$%?>.<}|/\" +Charact(34)

IF Texto <> "" THEN

LOOP (nTotal)

nPos01 += 1

IF nPos01 > 0 THEN

Busca = Texto[[nPos01]]

IF PositionOccurrence(aZ09,Busca,firstRank,FromBeginning) = 0 AND Busca <> Null THEN
Texto[[nPos01]] = ""
END

END

END

END

RESULT(Texto)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Registered member
3,659 messages
Popularité : +175 (223 votes)
Posted on September, 29 2016 - 8:26 PM
RESOLVIDO





Qualquer relatório que trava é só remover o enter da linha que vai funcionar todas as opções.

:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/