jpa.rc:4: digit exceeds base
Enviado: 16 Jan 2026 08:41
Depois de muitos anos, finalmente me preocupei em resolver isso.
O uso disso é no RC
Meu build.prg cria este ch toda vez que compilo.
Isso se torna minha identificação de versão.
Não pode colocar 01,02,03, o correto é 1,2,3
Apesar da mensagem de erro, nunca causou problema, então não me preocupei antes.
E agora tem IA pra ajudar kkk
É só o zero à esquerda que é inválido.O problema
Na linha:
#define JOSEQUINTAS_VERSAO_RC 2601,16,08,24
o número 08 causa erro porque o compilador interpreta números com zero à esquerda como octais (base 8). Em octal só existem dígitos de 0 a 7, então 08 não é válido.
A solução
Use números decimais sem zero à esquerda, ou hexadecimal com prefixo 0x. O mais comum em versões é decimal simples:
#define JOSEQUINTAS_VERSAO_RC 2601,16,8,24
FILEVERSION JOSEQUINTAS_VERSAO_RC
O uso disso é no RC
Código: Selecionar todos
#include "build.ch"
1 VERSIONINFO
FILEVERSION JOSEQUINTAS_VERSAO_RC
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "CompanyName" , "JPA TECNOLOGIA LTDA"
VALUE "FileDescription" , "JPA Integrado"
VALUE "FileVersion" , JOSEQUINTAS_VERSAO
VALUE "LegalCopyright" , "José M C Quintas"
VALUE "LegalTrademarks" , "José M C Quintas"
VALUE "OriginalFilename" , "JPA.EXE"
VALUE "ProductName" , "JPA"
VALUE "ProductVersion" , JOSEQUINTAS_VERSAO
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0416, 1252
END
END
Código: Selecionar todos
#define JOSEQUINTAS_VERSAO "2026.01.16.0834"
#define JOSEQUINTAS_VERSAO_RC 2601,16,8,34
Não pode colocar 01,02,03, o correto é 1,2,3
Apesar da mensagem de erro, nunca causou problema, então não me preocupei antes.
E agora tem IA pra ajudar kkk