MsgInfo/MsgAlert/MsgStop
Trio de mensagens em janela modal. Info=azul, Alert=amarelo, Stop=vermelho. Bloqueia ate o usuario clicar OK.
Assinatura: MsgInfo(cMsg, [cTitulo]) // MsgAlert(...) // MsgStop(...)
Retorna: NIL
Trio classico de mensagens modais do Protheus. Diferenca e visual + intencao semantica:
| Funcao | Icone | Quando usar |
|---|---|---|
MsgInfo | i azul | Mensagem informativa neutra ("Processo concluido") |
MsgAlert | ! amarelo | Aviso, atencao do usuario ("Cliente bloqueado") |
MsgStop | X vermelho | Erro grave, operacao cancelada ("Saldo insuficiente") |
Sintaxe
MsgInfo("Pedido " + cNumPed + " salvo com sucesso", "Atencao")
MsgAlert("Cliente sem limite de credito disponivel")
MsgStop("Operacao cancelada: erro fiscal CFOP 5102")
Pegadinhas
- Bloqueia o thread — em job/JOB scheduler, MsgInfo trava o processo porque nao ha usuario pra clicar OK. Use
ConOut/FwLoggerem vez disso. - Nao captura escolha — pra Sim/Nao use
ApMsgYesNoouAviso. - Titulo opcional — default "Atencao". Customize pra dar contexto.
- Quebra de linha — use
CHR(13)+CHR(10)ou template literal multiline. - Em modo batch/JOB — sempre proteger com
If !lJobou similar.
Padrao defensivo (funciona em UI e batch)
Static Function _Msg(cTxt)
If IsBlind() .Or. Type("oMainWnd") == "U"
ConOut(cTxt) // batch / JOB
Else
MsgInfo(cTxt) // UI
EndIf
Return
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cMsg | Character | sim | Texto da mensagem. |
cTitulo | Character | não | Titulo da janela. Default "Atencao". |