Página 1 de 1

GCC UCRT Erro.

Enviado: 31 Mar 2025 11:49
por Itamar M. Lins Jr.
Olá!
Falha na inicialização do aplicativo devido à configuração lado a lado incorreta. Consulte o log de eventos do aplicativo ou use a ferramenta de linha de comando sxstrace.exe para obter mais informações.
Esse é o problema de usar as coisas da Microsoft. Agora precisa instalar VC runtime... ai volta tudo para GCC padrão mesmo.

Saudações,
Itamar M. Lins Jr.

GCC UCRT Erro.

Enviado: 31 Mar 2025 12:07
por JoséQuintas
Itamar M. Lins Jr. escreveu:Esse é o problema de usar as coisas da Microsoft. Agora precisa instalar VC runtime... ai volta tudo para GCC padrão mesmo.
Esse é o problema de sair usando sem entender o que está usando.
O UCRT (CRT Universal) é um componente do sistema operacional Microsoft Windows. Ele é incluído como parte do sistema operacional em Windows 10 ou posterior e Windows Server 2016 ou posterior. O UCRT está disponível usando Windows Update em sistemas operacionais mais antigos que ainda têm suporte estendido. Há suporte para a implantação local do CRT Universal, com algumas restrições.
Se quer fazer programa pra qualquer Windows, não pode usar isso.

GCC UCRT Erro.

Enviado: 31 Mar 2025 12:09
por JoséQuintas
Mas resta outra questão:
O erro é sobre isso ou sobre outra DLL que foi linqueditada?
Não uso opcionais do harbour por conta disso.
libcurl, libssl, libmysql, e talvez outros.

GCC UCRT Erro.

Enviado: 31 Mar 2025 13:09
por Itamar M. Lins Jr.
Olá!
O problema é o seguinte:
Não sabia que uso do UCRT exigiria isso. Estou usando já quase 1 ano. Não pedia nada. Até agora. Alguma atualização exigindo a versão diferente do VC runtime que tenho aqui.
Já instalei em algumas CPUs e tudo ok. Não sei e nem quero saber se instalando o VC versão X voltará a funcionar. Tô mudando agora... Fora o susto pensei que era a Hwgui em MT...(já uso MT) de outra forma...
Enfim, só deu esse erro depois de recompilar o projeto todo.
Já com outro projeto sem defeito nenhum, mas dai o EXE ficava na memória, não fechava depois de encerrado. EndDialog, ENDWINDOW, postquit... . Fiquei voando... Ainda não entendi 100% o que foi realmente. Agora no Linux... postando. Vou ligar o notebook pra continuar os estudos desse problema.
Pq mesmo que seja um simples VCRUNTIME com defeito ou atualização, não paga o susto.

Saudações,
Itamar M. Lins Jr.

GCC UCRT Erro.

Enviado: 31 Mar 2025 15:44
por Itamar M. Lins Jr.
Olá!
Após minuciosa perícia rsrsrsr..
O manifest estava com erro de sintaxe... O teclado do notebook fica teclando a seta pra direita sozinho(fi duma égua)...(tenho 2 keyboard agora) até chegar um novo.. que nem pedi ainda... Até lembro, foi no momento que editei e mandei aqui para o forum, alterou sem querer alguma coisa...
Tem nada com UCRT, nem nada... Até pq roda tranquilo em algumas maquinas, e .EXEs diferentes...
Descobrir que UCRT não precisa desse runtime. Dá a MSG como se fosse dependente, por conta do erro de sintaxe no manifest.
Como tenho alguns projetos, sai recompilando os outros, e funcionou. Só o principal que tava bugado.
Sim, tinha removido todas as versões do tal runtime antes. Tinha várias aqui instalado x86 e 64. O programa que reclamar eu instalo novamente.

Saudações,
Itamar M. Lins Jr.

GCC UCRT Erro.

Enviado: 31 Mar 2025 16:38
por JoséQuintas
Itamar M. Lins Jr. escreveu:Já com outro projeto sem defeito nenhum, mas dai o EXE ficava na memória, não fechava depois de encerrado. EndDialog, ENDWINDOW, postquit... . Fiquei voando... Ainda não entendi 100% o que foi realmente. Agora no Linux... postando. Vou ligar o notebook pra continuar os estudos desse problema.
Uma coisa em multithread é que o encerramento não segue os meios normais de fechamento.
Dependendo do que der erro, os componentes Windows ficam na tela, mas sem programa nenhum pra trabalhar, aí só fechando no gerenciador de tarefas.

Outra coisa é o contrário.
O programa não encerrar direito, e não ter tela, aí não dá pra usar tecla.

cada caso é um caso.

Também a errorsys, que pode não entrar na segunda thread, e pode entrar a errorsys normal do harbour, e não a da hwgui, que contém pra fechar tudo (não apenas a thread).

Aqui uso a função do fivewin, achei mais prático.
PostQuitMessage(0).
Também depende da situação.