Página 10 de 14

Aos poucos migrando tela caracter para GUI

Enviado: 02 Jun 2020 22:56
por cjp
Consegui compilar meu sistema. Muito obrigado a todos.

Aos poucos migrando tela caracter para GUI

Enviado: 03 Jun 2020 23:45
por cjp
Por favor, poderiam me dizer se essa forma de construção do menu está errada?

Código: Selecionar todos

   MENU OF ThisFormMain  
         MENUITEM 'Agenda financeira' ID 32001                                     ACTION {|| ::ChamaRotina( "CONTAGEN34()", .F. ) }
         MENUITEM 'Contas bancárias' ID 32002                                     ACTION {|| ::ChamaRotina( "BANCOS34()", .F. ) }
         MENUITEM 'Compromissos' ID 32003                                     ACTION {|| ::ChamaRotina( "AGCOM34()", .F. ) }
      MENUITEM 'Sair do Sistema' ID 32129  ACTION {|| ::SaidaSistema() } 
   ENDMENU 
Só estou testando algumas modificações no sistema. Como não sei praticamente nada de modo gráfico, estou fazendo na base de tentativa/erro.

Desta forma compila normalmente e abre o sistema. Os menus ficam certos, como pretendi. Mas, quando abro o primeiro, abre a tela console normalmente. Já quando abro os demais, dá um erro, que não consigo identificar.

Podem me ajudar?

Aos poucos migrando tela caracter para GUI

Enviado: 04 Jun 2020 09:53
por asimoes
CJP
Tem que mostrar o erro pra poder ajudar, veja na pasta se tem algum arquivo com extensão .log

Aos poucos migrando tela caracter para GUI

Enviado: 05 Jun 2020 00:43
por cjp
Sim, desculpe. Eu queria primeiro apenas saber se a construção que eu fiz estaria errada.
Mas já vi que não deve ser este o problema. Imagino que o problema esteja em algum ponto do meu sistema (detalhe: no meu sistema normal compilado com o 3.2 não está dando erro); só não consegui determinar ainda onde nem porquê.
E por que não? Por causa do meu errorsys. Tenho um errorsys no meu sistema modificado para o meu sistema. E ele não está funcionando aqui; não gera o log de erro. Daí eu não tenho como saber qual o erro está dando.
Tentei excluir o meu errorsys, mas daí não compila. Veja o anexo tela.png.
Tentei também usar o errorsys que veio no teu post, mas também não compila. Veja o anexo tela2.png.
As funções em falta são do meu errorsys, e eu até poderia dispensá-las. Não é este o problema.
O problema é a função Writelog, apontada como duplicada, aparentemente numa lib. Como resolver isso?
Aproveito para fazer mais uma questão sobre isso: notei problemas com acentuação compilando com o CLANG, problema que não tenho compilando com o 3.2. Estou usando o OEM 850 no prg em ambos os casos. Como resolver isso?

Aos poucos migrando tela caracter para GUI

Enviado: 05 Jun 2020 12:43
por JoséQuintas
Novamente, outra vez, de novo..... LEU A MENSAGEM DE ERRO?

\hb34\hwgui\lib\libhwgui.a (herrsys.o)
\hb34\hwgui\lib\libhwgui.a (errorsys.o)

Só não entendi se tem duas ou três errorsys.

Um problema no Blinker é aceitar isso duplicado, por acaso o outro que funciona é Blinker?

Aos poucos migrando tela caracter para GUI

Enviado: 05 Jun 2020 13:14
por cjp
Li, mas não entendi. E continuo sem entender.
O que seria esse errorsys.o?
Eu uso somente o meu errorsys (errors2.prg). Testei também com o errorsys.prg que o asimoes mandou. E testei também sem nenhum errorsys no hbp.
Não uso blinker, pelo menos não que eu saiba; não sei do que se trata.

Aos poucos migrando tela caracter para GUI

Enviado: 05 Jun 2020 14:45
por JoséQuintas
Se tá duplicada é porque tem duas vezes.

O linqueditor ajudou mostrando o nome aonde deve estar.
É óbvio.... um objeto é gerado a partir do PRG, mesmo que esteja na LIB. herrsys.o se refere a herrsys.prg e errorsys.o se refere a errorsys.prg

Se isso não resolver, use o editor de texto e mande procurar em todos os fontes.
Em algum lugar a função existe, aliás em mais de um.
É procurar.
Tá tudo aí na sua máquina.

Aos poucos migrando tela caracter para GUI

Enviado: 05 Jun 2020 17:33
por asimoes
CJP,

Se você quer usar somente a sua versão errorsy2, então em algum ponto do fonte que inicializa a sua aplicação onde tem o FUNCTION MAIN ou PROCEDURE MAIN incluir

ANNOUNCE hwg_ErrSys

Porque HwGui tem também sua errorsys, ou você utiliza o errorsys da HwGui, e excluir essa sua do hbp

Aos poucos migrando tela caracter para GUI

Enviado: 06 Jun 2020 00:15
por cjp
Consegui usar o meu errorsys, e gerou o log de erro (se bem que o log está diferente, estranho).
Mas não estou conseguindo entender o erro:
Error BASE/1123 Erro nos parƒmetros: AADD
Called from ->AADD(0)
Called from ->HWG_BEGINMENU(204)
Called from \prg\AG34.PRG->CLDEMO:DEMO(215)
Called from \prg\AG34.PRG->MAIN(42)

HwGUI 2.17 (fork) Harbour 3.4.0dev (096e855) (2019-07-15 13:50)
Data : 03/06/2020
Hora : 23:14:43
WKS : DESKTOP-IT12ARQ
Usuário : Inacio Carvalho
Não entendo onde está o erro. A linha 215 está vazia.

Aos poucos migrando tela caracter para GUI

Enviado: 11 Jun 2020 12:10
por cjp
Peço, por favor, que me ajudem a dar continuidade neste projeto.

Aos poucos migrando tela caracter para GUI

Enviado: 11 Jun 2020 12:53
por MSDN
Não seria mais fácil e prático deixar de lado o uso de Errorsys e focar em outros meios de evitar/registrar erros/problemas no sistema ?
Vc pode usar TRY/CATCH...BEGIN/SEQUENCE...enfim, existem opções.

Aos poucos migrando tela caracter para GUI

Enviado: 11 Jun 2020 15:42
por Itamar M. Lins Jr.
Ola!
Marcelo e outros que estão nesta thread...
Aqui eu percebo que estamos com a gaiola na mão correndo atrás do passarinho.
Veja que a pergunta dele agora é sobre a função add()... Não é mais sobre errorsys da Hwgui.
Pq já é outra situação. Nesta thread já tem de tudo um pouco.
Consegui usar o meu errorsys,...Error BASE/1123 Erro nos parƒmetros: AADD
Lógico hwg_beginMenu() que chama, deve está errado.

Já não é errorsys...
Deveria abrir uma pergunta no forum harbour add(), e da função hwg_BeguinMenu() na Hwgui.
Tem muitas perguntas respondidas, fora do tópico principal.

Saudações,
Itamar M. Lins Jr.

Aos poucos migrando tela caracter para GUI

Enviado: 11 Jun 2020 16:14
por Itamar M. Lins Jr.
Ola!
Esse code block executa sem erro ?

Código: Selecionar todos

MENUITEM 'Compromissos' ID 32003   ACTION {|| ::ChamaRotina( "AGCOM34()", .F. ) }
Eu mesmo não conheço essa forma de chamar uma classe via codeblock, {|| ::Funcaotal("funcaoy()",.f.)} não posso opinar se está certo ou errado.

Saudações,
Itamar M. Lins Jr.

Aos poucos migrando tela caracter para GUI

Enviado: 11 Jun 2020 20:19
por MSDN
Itamar, eu estou achando que o CJP está juntando vários pedaços pra ver se sai um sistema, mas falta experiência como analista/programador para resolver problemas corriqueiros do dia-a-dia, se eu estiver errado por favor me corrija.

Aos poucos migrando tela caracter para GUI

Enviado: 11 Jun 2020 20:41
por asimoes
Eu não sei o que o CJP fez, mas meu exemplo funciona o codblock chamando um médoto da classe, existem milhões de exemplos aui no fórum, acho que falta expertise por parte dele, já falei pra pesquisar no fórum, mas o código é simples, já mecionei também pra remover o errorsys do projeto dele, deixa o harbour "estourar" o erro, enfim.