HMG 3.4.3 - Erro de compilação.

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG 3.4.3 - Erro de compilação.

Mensagem por Mario Mesquita »

Bom dia a todos.

Incentivado pelos colegas e pressionado pela necessidade, estou tentando compilar um programa no HMG 3.4.3, uma vez que preciso usar recursos que a 3.0.46 não possui como a geração de QR-Code, por exemplo.

Antes, ao abrir a IDE (ANSI) os forms já abriam com os caracteres acentuados todos em branco, fora os ícones com fundo preto bagunçando a aparência dos formulários. Dessa vez, abriu com todos os acentos. Bom sinal!

Mas, ao compilar, deu uma mensagem que antes não aparecia, o programa era compilado. A mensagem:

Código: Selecionar todos

hbmk2: Harbour: Compilando m¢dulos...
Harbour 3.2.0dev (r1601151502)
Copyright (c) 1999-2015, http://harbour-project.org/
hbmk2: Compilando...
hbmk2: Linkando... ECertidao.exe
.hbmk/win/mingw/ece11990.o:ece11990.c:(.data+0x158): undefined reference to `HB_FUN_PROCESSMESSAGES'
collect2.exe: error: ld returned 1 exit status
hbmk2[ECertidao]: Erro: Executando linkeditor. 1
gcc.exe .hbmk/win/mingw/main.o .hbmk/win/mingw/ece11990.o .hbmk/win/mingw/ece33000.o .hbmk/win/mingw/ece40000.o .hbmk/win/mingw/ece51700.o .hbmk/win/mingw/ece52000.o .hbmk/win/mingw/_hbmkaut_main.o C:/HMG_MRM/ECertidao/Padrao/_temp.o    -mwindows -Wl,--start-group -lhmg -lcrypt -ledit -leditex -lgraph -lini -lreport -lhfcl -lmsvfw32 -lvfw32 -lhbct -lhbwin -lhbmzip -lminizip -lhbmemio -lhbmisc -lhbmysql -lmysql -lhbtip -lsqlite3 -lhbsqlit3 -lsddodbc -lrddsql -lsddmy -lhbodbc -lodbc32 -lhbhpdf -lhbfimage -lhbpgsql -lhbnetio -lxhb -lpng -llibhpdf -lhbvpdf -lhbzebra -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainwin -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -liphlpapi -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib   -Wl,--end-group -oECertidao.exe  -LC:/hmg.3.4.3/harbour/lib/win/mingw -LC:/hmg.3.4.3/lib

hbmk2: Erro: Referenciado, faltando, mas fun‡äes desconhecida(s):
       PROCESSMESSAGES()
Bom, a princípio não tem nada de especial nele, a não ser por ele usar a classe TXMLDocument().

Como sou cego na parte de compilação e linkedição, peço ajuda aos que já estão familiarizados com essa versão.

Desde já agradeço a orientação de vocês.

Saudações,
Mario.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

HMG 3.4.3 - Erro de compilação.

Mensagem por sygecom »

Mario,

Está faltando a FUNCTION PROCESSMESSAGES ou está faltando linkar alguma LIB a mais onde contem essa FUNCTION, sabe para que usa ela no seu sistema ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG 3.4.3 - Erro de compilação.

Mensagem por Mario Mesquita »

Bom dia, Leonardo.

Não sei, na 3.0.46 ele faz normalmente. Mas acho que acertei aqui meio no susto: Troquei o "#include <minigui.ch>" por "#include hmg.ch>" na rotina e compilou.

Mas agora outro problema: Quando abro o form nesse programa, tá congelando. Fica parado e só sai abortando.

Estou tentando ver aqui, tinha um DO EVENTS que isolei, mas até agora nada. Pior que não dá erro de execução, logo não dá mensagem pro ErrorLog.html para ver o que pode ser.

Vou colocar o código, vai que ajuda a ver o que não estou vendo?

Código: Selecionar todos


//#include <minigui.ch>
#include <hmg.ch>

FUNCTION ECE11990()

SET SOFT OFF

RETURN NIL

////

FUNCTION Abre_EPedidos()
LOCAL   aPeds  := {}
PRIVATE bColor := { || IF( OrdKeyNo()/2 == INT(OrdKeyNo()/2), { 234,244,255 },{ 255,255,255 } ) }, ;
        fColor := {}, ;  //{ || if ( val(protocolo)/2 == int(val(protocolo)/2) , { 0,255,0 } , { 0,0,255 } ) }	
        IncOpe := .F.

DBUSEAREA( .T.,"DBFCDX","EPEDIDOS",, .T. )
SET INDEX TO EPEDIDOS
DBSETORDER(5)
DBGOTOP()

DBUSEAREA( .T.,"DBFCDX","EXIGENC",, .T. )
SET INDEX TO EXIGENC

DBUSEAREA( .T.,"DBFCDX","TB_STAT",,  .T. )

DBUSEAREA( .T.,"DBFCDX","SETCER",,   .T. )

//// verifica se tem aquivos de pedidos na caixa de retorno ////

aPeds := DIRECTORY(ALLTRIM(SETCER->PASTA_RET) + "auto_pedido-*.XML")

IF LEN(aPeds) > 0
	MSGINFO("EXISTE(M) " + ALLTRIM(STR(LEN(aPeds),6,0)) + " PEDIDO(S) À IMPORTAR.")
ELSE	
	MSGINFO("SEM PEDIDOS À IMPORTAR NESSE MOMENTO.")
ENDIF

//DO EVENTS

Load Window Frm_Epedidos
Frm_Epedidos.center
Frm_Epedidos.activate

RETURN NIL
Vou tentando aqui, se alguém tiver uma noção...

Sds,
Mario.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG 3.4.3 - Erro de compilação.

Mensagem por Mario Mesquita »

Amigos, perdão!

Desconsiderem esse código postado, não é ele. Esse está abrindo. Vou dar uma passada no código que está falhando e posto daqui a pouco.

Volto já,
Mario.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

HMG 3.4.3 - Erro de compilação.

Mensagem por Pablo César »

Isso mesmo que o Leonardo mencionou. Está faltando a função ProcessMessages() que você deve estar chamando desde o seu código.

Na versão 3.0.46 existia essa função mas que era re-interpretada pelo comando: #xcommand DO EVENTS => ProcessMessages()

O comando continua existindo evidentemente. Por isso sempre é bom evitar o chamado de funções diretamente. Muitas vezes sofrem alguma alteração e fica ruim depois ter que alterar o código. Mas como você pode ter visto, a migração para UNICODE não é complicado. Os seus PRGs devem serem abertos pelo Notepad++ (ótimo editor OPENSOURCE) e com Enconding/Formatar em UTF-8
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

HMG 3.4.3 - Erro de compilação.

Mensagem por Pablo César »

Mario Mesquita escreveu:Desconsiderem esse código postado, não é ele.
Você podia ter editado antes que eu respondesse. O sistema do fórum só permite a edição da ultima mensagem (se for sua) é claro.
Estou tentando ver aqui, tinha um DO EVENTS
Tá ficando bom nisso, Mario. Parabéns. Você está: "programming in progress"
Pior que não dá erro de execução, logo não dá mensagem pro ErrorLog.html para ver o que pode ser.
Quer ver Mario. Instale isto na sua máquina. Vai ajudar muito a identificar os problemas de identificação de erros no seu código:

http://www.hmgforum.com/viewtopic.php?p=47723#p47723

É só executar o ViewError, confirmar alteração no seu ambiente e bootar a sua máquina. (nossa falar máquina em lugar de PC... tou velho... rs)

ErrorLog.html só grava quando é erro de execução. Não erro de compilação. O arquivo responsável Build.log ou Error.log. Mas instale meu aplicativo que você vai ganhar muito mais tempo e dar mais dinamismo a sua programação.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG 3.4.3 - Erro de compilação.

Mensagem por Mario Mesquita »

Olá, Pablo.

Desculpe não reportar a tempo, estou tentando coisas pra ver se decola. Meu problema, como sempre é o tempo. Esse trabalho tem um prazo mínimo e não poderei ficar tentando e errando por muito tempo. Senão vou ficar com sérios problemas de trabalho, pois é uma exigência do tribunal de Justiça do RJ que deve ser atendida agora em janeiro. Sem isso, perco todos meus clientes. Dá pra imaginar o meu estado pra focar nas coisas.

Veja, estou usando a IDE ANSI 32 bits, e uso o xDevStudio para editar os programas. Não vi se ele faz o UTF-8, mas de qualquer forma não preciso do UNICODE agora, a não ser que me impeça de usar as duas coisas que estão me motivando nessa tentativa meio desesperada: A impressão em PDF e a geração do QR-CODE.

O form abriu, suprimindo umas funções que bem ou mal rodavam na 3.0.46. Creio até que algumas coisas meio toscas no código. Mas estou começando a retalhar o programa e se isso não der certo, nem uma coisa nem outra. Mesmo assim, está congelando. Agora ao clicar no botão de impressão.

Vou tentando aqui e caso fique sem opções, peço ajuda a vcs, para não ficar cansativo e queimar o esforço de vcs em me ajudar.

Sds,
Mario.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

HMG 3.4.3 - Erro de compilação.

Mensagem por Pablo César »

Oi Mario,

Você pode para inicio usar en ANSI, isso se você já tem configurado Código de paginas para o português mas para isso você de reconstruir a bibliotecas do HMG porque trabalha em UNICODE como default.
Aí seria só questão de rodar o BuilLib.bat opção 1 (ANSI) e usar a IDE_ANSI. Mas caso contrário você utilize a IDE UNICODE.

Sobre o ViewError pode trabalhar com xDevStudio, só não sei se trabalha com UNICODE. Também outra coisa que tem que ser observada é se esse editor aceita na linha de comando o parâmetro para posicionamento de linha.

Quanto ajudar você, sem problemas hoje.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG 3.4.3 - Erro de compilação.

Mensagem por Mario Mesquita »

Olá, voltei.

Desculpem a demora. Um suporte inesperado.

Pablo, sendo assim e eu tomando pau aqui na preparação do programa, terei que adiar essa passagem. É vida ou morte pra mim, sem exagero. Não adiantará dominar uma coisa e começar o ano desempregado. Infelizmente, é a verdade.

Vi um tópico sobre o QR-Code na seção de Contribuições. Vou postar lá se há como manipular o QR-Code com a 3.0.46.

Senão será buscar uma solução externa. Depois dessa tormenta vencida, eu volto a me preparar para usar a 3.4 pois de fato ela parece sensacional, eu é que fiquei pra trás.

Obrigado pela ajuda de vocês. Se quiserem dar um pitaco lá no outro tópico, estão convidados.

Abraço,
Mario.
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

HMG 3.4.3 - Erro de compilação.

Mensagem por Claudio Soto »

Para trabajar en ANSI no es necesario recompilar la lib de HMG, basta poner al inicio el código de página en portugués y pronto, no importa si la lib esta en ANSI o Unicode.

La compilación sólo en ANSI de HMG tenía sentido mientras el soporte a Unicode no estaba completo hay en día tendría que ser eliminado.

Si no hagan el siguiente razonamiento, existe dos versiones de Harbour una en ANSI y otra en Unicode? La respuesta es No, Harbour esta compilado en Unicode y cuando se lo quiere utilizar en ANSI basta poner el código de página adecuado.
La diferencia es que HMG tiene por defecto UTF-8 como código de página y Harbour tiene por defecto un código de página ANSI, de ahí viene la confusión.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG 3.4.3 - Erro de compilação.

Mensagem por Mario Mesquita »

Boa noite, pessoal.

Me esclareçam, o Dr. Soto diz que então basta setar o fonte para o idioma e pode-se rodar em ANSI normalmente?

Em sendo assim, acho que tenho chance de fazer algo.

Bom, eu fiz isso e realmente rodou com os forms e relatórios em português. Aparentemente, ok.

Aquele tal congelamento que reportei de dia, eu estou tentando correr atrás e avancei mais. Tinham uns SET FILTER meio perdidos de uma antiga filtragem que fazia, mas como não é técnica bem recomendada, deixei pra lá. Na verdade eles eram para desativar qualquer SET FILTER TO <algo> que pudesse me atrapalhar.

Descobri que o problema é uma extrema lentidão em duas funções que fazem coisas parecidas: manipular o formulário.

Vou colocar o código e a primeira função:

Código: Selecionar todos

////

FUNCTION Abre_Certidao()

PRIVATE bColor      := { || IF( OrdKeyNo()/2 == INT(OrdKeyNo()/2), { 234,244,255 },{ 255,255,255 } ) }, ;
        bColorG     := { || {255,255,128} }, ;
        fColorG     := { || {0,0,0} },       ;
        fColor      := {},                   ;
        vProtestos  := {},                   ;
        bN          := "",                   ;
		  PartiuTal   := .F.,                  ;
		  Achou_Talao := .F.,                  ;
		  Mdata       := DATE(),               ;
        FilTal      := "" //"(CODFUNCAO='02' .OR. CODFUNCAO='04') .AND. EMPTY(SSELLO)"

// Caminho da pasta do sistema de protestos //

DBUSEAREA( .T.,"DBFCDX","SETCER",,  .T. )

IF ! EMPTY(SETCER->PASTA_PROT)
   xPath := ALLTRIM(SETCER->PASTA_PROT)
   SET PATH TO (xPath)
   //MSGINFO('Mapeado para o sistema de protesto em: '+xpath)
ELSE
   MSGINFO("PASTA DO SISTEMA DE PROTESTOS NÃO CONFIGURADA.")
ENDIF
	
DBUSEAREA( .T.,"DBFCDX","SETCART",,  .T. )

DBUSEAREA( .T.,"DBFCDX","TCUSTAS",,  .T. )
SET INDEX TO TCUSTAS

DBUSEAREA( .T.,"DBFCDX","FCUSTAS",,  .T. )

DBUSEAREA( .T.,"DBFCDX","DEMCUST",,  .T. )
SET INDEX TO DEMCUST

DBUSEAREA( .T.,"DBFCDX","TFUNCAO",,  .T. )
SET INDEX TO TFUNCAO

IF ! FILE("RECIBOS.DBF")
   MSGINFO("RECIBOS.DBF NÃO LOCALIZADO")
//else
//	msginfo('Localizou Recibos.dbf')
ENDIF   
DBUSEAREA( .T.,"DBFCDX","RECIBOS",,  .T. )
SET INDEX TO RECIBOS

IF ! FILE("PEDIDOS.DBF")
   MSGINFO("PEDIDOS.DBF NÃO LOCALIZADO")
//else
//	msginfo('Localizou Pedidos.dbf')
ENDIF   
DBUSEAREA( .T.,"DBFCDX","PEDIDOS",,  .T. )
SET INDEX TO PEDIDOS

DBUSEAREA( .T.,"DBFCDX","TBTIPTIT",, .T. )
SET INDEX TO TBTIPTIT

DBUSEAREA( .T.,"DBFCDX","BANCOS",,   .T. )
SET INDEX TO BANCOS  
DBSETORDER(2)

DBUSEAREA( .T.,"DBFCDX","TITULAR",,  .T. )
SET INDEX TO TITULAR

DBUSEAREA( .T.,"DBFCDX","COEMIT",,   .T. )
SET INDEX TO COEMIT

DBUSEAREA( .T.,"DBFCDX","LOG_SELO",, .T. )
SET INDEX TO LOG_SELO

//DBUSEAREA( .T.,"DBFCDX","LOG_FORM",, .T. )
//SET INDEX TO LOG_FORM

DBUSEAREA( .T.,"DBFCDX","TITULOS",,  .T. )
SET INDEX TO TITULOS
DBSETORDER(14)
DBGOTOP()

Load Window Frm_Certidao
Frm_Certidao.center

MSGINFO('Carregou Form, vai setar titular.')

DBSELECTAR("TITULAR")
DBSETORDER(1)
DBSEEK(USUARIOS->NOMME)
Frm_Certidao.Combo_2.Value := RECNO()

MSGINFO('Setou titular, vai pro filtro.')

Filtra_Talao()
MSGINFO('Rodou Filtro, vai pra inicialização da tela.')

Inicia_Tela_Certidao()      // <==== Aqui nessa função demora muito, três a cinco minutos!
MSGINFO('Inicilizou tela, vai abrir o formulário.')

Frm_Certidao.activate

RETURN NIL

////

FUNCTION Inicia_Tela_Certidao()

Achou_Talao                        := .F.
Frm_Certidao.Text_1.Enabled        := .T.
Frm_Certidao.Text_1.Value          := ""
Frm_Certidao.Text_2.Enabled        := .F.
Frm_Certidao.Text_2.Value          := ""
Frm_Certidao.Txt_Talao.Enabled     := .T.                       
Frm_Certidao.Txt_Talao.Value       := 0
Frm_Certidao.Txt_Result.Value      := 0
Frm_Certidao.Txt_Result.Enabled    := .T.
Frm_Certidao.Txt_Result.BackColor  := {255,255,255}
Frm_Certidao.Txt_Certidao.Value    := 0
Frm_Certidao.Txt_Selo.Value        := ""
Frm_Certidao.Txt_Ale.Value         := ""                       
Frm_Certidao.Txt_CCT.Value         := ""
Frm_Certidao.Txt_Selo.Enabled      := .F.                       
Frm_Certidao.Txt_Ale.Enabled       := .F.                       
Frm_Certidao.Txt_CCT.Enabled       := .F.                       
Frm_Certidao.RadioGroup_1.Enabled  := .F.
Frm_Certidao.DatePicker_1.Enabled  := .F.
Frm_Certidao.DatePicker_2.Enabled  := .F.
Frm_Certidao.Dtp_Emis.Enabled      := .F.
Frm_Certidao.Check_Impr.Value      := .F.
Frm_Certidao.Check_Cab.Value       := .f. //IIF(SETCART->CABCERT == "S", .T., .F.)
Frm_Certidao.Combo_1.Enabled       := .T.
Frm_Certidao.Combo_1.Value         := 1
Frm_Certidao.Combo_2.Enabled       := .F.
Frm_Certidao.Btn_Busca.Enabled     := .F.
Frm_Certidao.Btn_Imprime.Enabled   := .F.
Frm_Certidao.Btn_Positiva.Enabled  := .F.
Frm_Certidao.Btn_Positiva.Visible  := .T.
Frm_Certidao.Btn_Negativa.Enabled  := .F.
Frm_Certidao.Btn_Negativa.Visible  := .T.
Frm_Certidao.Grid_1.Enabled        := .F.
Frm_Certidao.Grid_1.DeleteAllItems
Frm_Certidao.Frame_3.Caption       := "Resultado da Certidão"

PartiuTal := .F.

Frm_Certidao.Txt_Talao.SetFocus

DBSELECTAR("TITULOS")
DBSETORDER(14)
//SET FILTER TO
DBGOTOP()

RETURN NIL

////
Observo que na versão compilada com o 3.0.46 está até demorando uns segundos, mas nada que te faça ir na cozinha passar um café. A outra faz uma leitura em uma tabela e isso vai normal, enche um grid, mas na hora de setar a tela de novo, demora muito.

Código: Selecionar todos


Frm_Certidao.RadioGroup_1.Enabled := .F.
Frm_Certidao.DatePicker_1.Enabled := .F.
Frm_Certidao.DatePicker_2.Enabled := .F.
Frm_Certidao.Btn_Busca.Enabled    := .F.
Frm_Certidao.Txt_Result.Value     := Frm_Certidao.Grid_1.ItemCount
Frm_Certidao.Txt_Result.BackColor := IIF(Frm_Certidao.Grid_1.ItemCount = 0, {0,128,255}, {255,0,0} )
Frm_Certidao.Grid_1.Enabled       := .T.
Frm_Certidao.Btn_Negativa.Enabled := IIF(Frm_Certidao.Grid_1.ItemCount = 0, .T., .F.)
Frm_Certidao.Btn_Positiva.Enabled := IIF(Frm_Certidao.Grid_1.ItemCount = 0, .F., .T.)
Frm_Certidao.Txt_Certidao.Value   := -1

Então, amigos: O que pode ser isso? Considero estranho, uma vez que o desempenho dessa versão deve ser superior a da mais antiga, eu suponho. Talvez algum vício de programação, sei lá...

Se vocês tiverem algo pra me ajudar, como sempre agradeço. Vão salvar um colega de um 2017 cinzento.

Saudações e boa noite. Ainda vou fazer mais testes até a vista queimar ou a coluna gritar.

Abraço,
Mario.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG 3.4.3 - Erro de compilação.

Mensagem por Mario Mesquita »

Boa tarde, pessoal.

Depois de testar monte de coisas, acabei descobrindo que o problema era na linha com esse conteúdo:

Código: Selecionar todos

Frm_Certidao.Combo_1.Value         := 1
Frm_Certidao.Combo_2.Enabled       := .F.

Frm_Certidao.Btn_Busca.Enabled     := .F.  // <--- Esse botão está causando a demora do form abrir.

Frm_Certidao.Btn_Imprime.Enabled   := .F.
Frm_Certidao.Btn_Positiva.Enabled  := .F.
Frm_Certidao.Btn_Positiva.Visible  := .T.
Testando, descobri que ele estava se referindo a um nome de imagem que não estava no .rc, pois o form foi copiado e até então isso nunca causou problema desse tipo. degradar a performance do programa. Então vou passar os comandos do form à limpo para evitar isso.

Sem querer desvirtuar, ainda estou precisando de alguma dica de como obter o QR-Code para colar num documento gerado como PDF, mas os manuais que consultei não falam nada sobre.

Quem souber onde posso obter informações ou souber algo, posta pra mim, por favor. Precisando muito disso.

Desde já obrigado,
Mario.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

HMG 3.4.3 - Erro de compilação.

Mensagem por Pablo César »

Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

HMG 3.4.3 - Erro de compilação.

Mensagem por Mario Mesquita »

Bom dia a todos.

Pablo, és vidente, rs. Ontem de madrugada lendo a descrição dos recursos da 3.1 li melhor sobre a função HMG_CreateBarCode() e mal e porcamente consegui colar um QR em um documento. Lendo melhor sobre ele, notei que ele podia gerar um arquivo .PNG e era tudo que eu precisava pois aí pego a imagem e colo no documento.

Bom, não sei se esse QR está correto, será outro passo a dar e descobrir se ele funciona. Vou tentar testar isso procurando um documento válido para meu trabalho e atestar que deu certo. Postei isso no tópico do QR-Code em "Contribuições".

Confesso estar meio receoso de usar a 3.4.3 em um programa feito com a 3.046, pois ontem resolvi uma coisa boba que quase paralisava o programa, a falta de uma imagem em um botão. Como o programa é pequeno, hoje vou fazer um teste completo de tudo que já fiz e se ele se comportar como a versão feita com o 3.0.46 será um salto que vai me levar a converter tudo que já fiz para a 3.4 em breve.

Obrigado a você e aos outros colegas pela ajuda e estímulo.

Saudações,
Mario.
Responder