projetoacbr / acbr Goto Github PK
View Code? Open in Web Editor NEWMirror não oficial do Projeto ACBr
Home Page: https://www.projetoacbr.com.br
Mirror não oficial do Projeto ACBr
Home Page: https://www.projetoacbr.com.br
No projeto de Demo: AcbrOpenDelivery_DemoVCL
Após incluir um pedido fake, e listar ele com o botão Polling e depois pego o seu "Order ID", na aba Orders (Pedidos) é clicado no botão "Get Order details" com o o "Order ID" informado.
Depois que puxou os detalhes, é aguardado um tempo...
Supondo que passe do tempo limite, e não possa mais cancelar remotamente...
É tentado clicar em "Confirm", logicamente para confirmar o pedido.
É retornado uma mensagem de erro em json:
'[{"code":501,"message":"Invalid Status"}]'
Até aqui, tudo certo pois o status não pode mais ser modificado para confirmado, pois excedeu o tempo.
Só que no código é gerado a exceção:
"Invalid class typecast"
Esse erro ocorre na função: "TACBrJSONObject.Parse" que redireciona para a
"TACBrJSONObject.CreateJsonObject", que ao receber o texto do json,
esta tentando transformar o json acima, em um TJsonObject (Simples),
mas ele é um JsonArray.
E ai que ocorre o erro, pois não é possível transformar.
Isso ocorre ao tentar executar:
Result := TJsonObject.Parse(AJsonString) as TJsonObject
Finalizando no bloco da exception.
Fato observado, é que ao retornar algo que NÃO seja um JsonArray, então Não ocorrerá o erro, por exemplo,
se for retornado:
{"code":501,"message":"Invalid Status"}
< observe que não é um json array, e sim um json simples >
Nesse caso, NÃO é gerado uma exceção e o código executa sem erros.
No entanto, conforme documentação da opendelivery, é sempre retornado um JsonArray para erro 501.
Portanto, precisamos de uma correção no código.
Observação: esta ativa a diretiva "USE_JSONDATAOBJECTS_UNIT"
Olá pessoal!
Poderiam implementar neste repositório o controle de versões através das tags/releases?
Isto ajudaria a utilizar estes fontes nos projetos gerenciados pelo Boss
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.