-
-
Notifications
You must be signed in to change notification settings - Fork 234
Description
Criei um projeto simples de teste com o código de exemplo que encontra-se em https://github.com/HashLoad/horse.
Configurei o Project Options definindo os Build Modes padrões criados pelo Lazarus (Project Options > Compiler Options > Botão '...' no topo do form).
Com isso o Lazarus cria os Build Modes "Release" e "Debug".
Ajustei o Build Mode para Debug e Rodei a API básica com o Lazarus.
Entrei no Firefox e enviei a requisição "localhost:9000/ping".
O Lazarus levantou uma exceção de "Invalid Typecast" na unit Horse.Core.RouterTree.NextCaller linha 89.
Deixei continuar a execução e o firefox me mostrou o seguinte retorno:
`The application encountered the following error:
Error: Invalid type cast
Stack trace:
$00000000005DE23D Next, line 89 of ../../../../../frameworks/fpc/horse/src/Horse.Core.RouterTree.NextCaller.pas
$00000000004E566F ExecuteInternal, line 187 of ../../../../../frameworks/fpc/horse/src/Horse.Core.RouterTree.pas
$00000000004E5401 Execute, line 149 of ../../../../../frameworks/fpc/horse/src/Horse.Core.RouterTree.pas
$00000000005E050A HandlerAction, line 94 of ../../../../../frameworks/fpc/horse/src/Horse.WebModule.pas
$00000000005E03CB DoOnRequest, line 79 of ../../../../../frameworks/fpc/horse/src/Horse.WebModule.pas
$00000000005E13A4`
Fazendo alguns testes na configuração do Build Mode Debug gerado pelo Lazarus, percebi que se Desligarmos o parâmetro Project Options > Compiler Options > Debugging > Checks and assertion > Verify method calls (-CR) , o erro acima não acontece e o retorno para requisição é "Pong", como esperado.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status