Erro em tela de cadastro - Cabeçalho / Itens

Bom dia

Estou desenvolvendo um programa para a realização de um cadastro estilo pedido de vendas (cabeçalho e itens), porém quando eu vou confirmar a inclusão de um registro o sistema da o seguinte error log.

THREAD ERROR ([2088], marcos.sanches, NTB00013) 22/06/2020 10:47:23 argument #0 error, expected B->L, function eval on SAFEEVAL(MSLIB.PRW) 01/04/2020 19:16:48 line : 7277

Estou anexando tanto o fonte como o error log, se alguém puder me ajudar eu agradeço.

Atenciosamente

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Marcos,

Ao chamar a função EnchoiceBar no init da dialog, você passou o segundo parâmetro bOk, porém ele precisa ser um bloco de código, e você enviou um valor lógico:


bOk := .T.
lOk := .T.
bCancel := {|| lOk:=.F., oWndChild:End()}
Activate MsDialog oWndChild Center On Init EnchoiceBar(oWndChild, bOk, bCancel,, aButtons,,, .F., .F., .F.,, .F.)

Troque o valor .T. para um bloco de código com esse mesmo retorno:


bOk := {||.T.}
lOk := .T.
bCancel := {|| lOk:=.F., oWndChild:End()}
Activate MsDialog oWndChild Center On Init EnchoiceBar(oWndChild, bOk, bCancel,, aButtons,,, .F., .F., .F.,, .F.)


Recomendo você tipar as variáveis, pois o Appserver gera um warning na compilação quando você tipa uma variável e coloca um valor que difere do tipo. Ao tipar a variável bOk e colocar um valor lógica, sua compilação vai gerar o seguinte warning:

Aviso: warning W0015 Incompatible types between B and L

Caso a extensão do fonte esteja como TLPP, o fonte não será compilado, isso mesmo, você não teria nem mesmo uma compilação bem sucedida.

Documentação: https://tdn.totvs.com/display/tec/Tipagem+de+Dados