Página 1 de 1

Formulario nao atualiza - HMGS

Enviado: 13 Abr 2015 09:25
por rubens
Bom dia....

Tô usando a IDE da HMGS versão 1.2.4.
E tô com o seguinte problema: Quando entro no código do formulário e faço alguma mudança manual, mando compilar, blza a mudança que eu fiz aparece no programa compilado, só que se eu tentar abrir o formulário pela IDE não aparece a mudança no formulário.
Pesquisei para ver se tinha algum arquivo de configuração mas não encontrei.
Alguém sabe se é bug na IDE ou se tem algum jeito de corrigir isso?

Essa IDE veio melhorzinha que a anterior, por enquanto de bug aqui só isso e o pau que dá quando usa um buttonex e coloca uma figura nele, daí se você clicar nele de novo com a figura dá pau.

Obrigado
Rubens

Formulario nao atualiza - HMGS

Enviado: 13 Abr 2015 17:22
por Toledo
rubens escreveu:Quando entro no código do formulário e faço alguma mudança manual
Que tipo de mudança você está fazendo? Dê um exemplo... e se for possível, como estava ANTES e como ficou DEPOIS.

Abraços,

Formulario nao atualiza - HMGS

Enviado: 14 Abr 2015 18:34
por rubens
Olá Toledo.. Boa noite...
Blz.. ?
Vamos lá...

Tenho o seguinte formulario:
Formulario Original.png

Código: Selecionar todos

*HMGS-MINIGUI-IDE Two-Way Form Designer Generated Code
*OPEN SOURCE PROJECT 2005-2013 Walter Formigoni http://sourceforge.net/projects/hmgs-minigui/

DEFINE WINDOW TEMPLATE AT 9 , 47 WIDTH 1292 HEIGHT 700 TITLE "Sistema de Controle de Vendas" MAIN

     DEFINE BROWSE Browse_1
            ROW    40
            COL    10
            WIDTH  986
            HEIGHT 334
            WIDTHS {90,90,500,100,90,90}
            HEADERS {'NUMERO','CODIGO','NOME','VALOR','DATA','DATAVENC'}
            WORKAREA VEN
            FIELDS {'VEN->NUMERO','VEN->CODIGO','VEN->NOME','VEN->VALOR','VEN->DATA','VEN->DATAVENC'}
            FONTNAME 'Arial'
            TOOLTIP ''
            JUSTIFY {BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER,NIL,BROWSE_JTFY_RIGHT,BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER}
     END BROWSE  

END WINDOW
Insiro o código abaixo

Código: Selecionar todos

*HMGS-MINIGUI-IDE Two-Way Form Designer Generated Code
*OPEN SOURCE PROJECT 2005-2013 Walter Formigoni http://sourceforge.net/projects/hmgs-minigui/

DEFINE WINDOW TEMPLATE AT 9 , 47 WIDTH 1292 HEIGHT 700 TITLE "Sistema de Controle de Vendas" MAIN

     DEFINE BROWSE Browse_1
            ROW    40
            COL    10
            WIDTH  986
            HEIGHT 334
            WIDTHS {90,90,500,100,90,90}
            HEADERS {'NUMERO','CODIGO','NOME','VALOR','DATA','DATAVENC'}
            WORKAREA VEN
            FIELDS {'VEN->NUMERO','VEN->CODIGO','VEN->NOME','VEN->VALOR','VEN->DATA','VEN->DATAVENC'}
            FONTNAME 'Arial'
            TOOLTIP ''
            JUSTIFY {BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER,NIL,BROWSE_JTFY_RIGHT,BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER}
     END BROWSE 
	  
         * botões
    define buttonex button_001
           parent form_clientes
           picture path_imagens+'incluir.bmp'
           col 1020
           row 060
           width 160
           height 060
           caption '&1 - Incluir'
           *action dados(1)
           fontname 'verdana'
           fontsize 010
           fontbold .T.
  		     flat .F.
           noxpstyle .T.
    end buttonex
    define buttonex button_002
           parent form_clientes
           picture path_imagens+'alterar.bmp'
           col 1020
           row 125
           width 160
           height 060
           caption '&2 - Alterar'
           *action dados(2)
           fontname 'verdana'
           fontsize 010
           fontbold .T.
           flat .F.
           noxpstyle .T.
    end buttonex
    define buttonex button_003
           parent form_clientes
           picture path_imagens+'excluir.bmp'
           col 1020
           row 190
           width 160
           height 060
           caption '&3 - Excluir'
           *action excluir()
           fontname 'verdana'
           fontsize 010
           fontbold .T.
           flat .F.
           noxpstyle .T.
    end buttonex
    define buttonex button_004
           parent form_clientes
           picture path_imagens+'relatorio.bmp'
           col 1020
           row 255
           width 160
           height 060
           caption '&4 - Relatório'
           * action relatorio()
           fontname 'verdana'
           fontsize 010
           fontbold .T.
           flat .F.
           noxpstyle .T.
    end buttonex
    define buttonex button_005
           parent form_clientes
           picture path_imagens+'atualizar.bmp'
           col 1020
           row 320
           width 160
           height 060
           caption '&5 - Atualizar'
           *action atualiza()
           fontname 'verdana'
           fontsize 010
           fontbold .T.
           flat .F.
           noxpstyle .T.
    end buttonex
    define buttonex button_sair
           parent form_clientes
           picture path_imagens+'sair.bmp'
           col 1020
           row 385
           width 160
           height 050
           caption '&0 - Sair'
           *action form_clientes.release
           fontname 'verdana'
           fontsize 010
           fontbold .T.
           flat .F.
           noxpstyle .T.
    end buttonex


END WINDOW
Compilo pela IDE e executo. As modificações são compiladas como dá para ver na figura abaixo. criou os botões. Só que quando fecho a aplicação e abro o formulário pela ide ele me mostra o formulário como a primeira figura desta postagem. Sem os objetos que eu adicionei via código. Estou trabalhando com muita disciplina e atenção. Quando insiro algum código eu estou com formulário fechado. Se trabalho no formulário o código tá fechado. Sempre salvo o formulário ou o código antes de compilar.

Formulário com as alterações via código.
Formulário com alteração via código.png
Eu tenho dois aplicativos já em hmgs rodando... mas foi por código... Queria converter tudo para formulário... fica mais produtivo... e mais fácil implementar alguma coisa.. sem contar que posso utilizar os formulários em outros aplicativos.. Só que esbarrei nesse problema... criei uma tela de login e passei por este problema... Posso também estar fazendo algo errado...

Rubens

Formulario nao atualiza - HMGS

Enviado: 14 Abr 2015 20:21
por Toledo
Olá Rubens, para que as alterações feitas seja reconhecidas pela IDE você deve seguir três regras básicas:

1 - Os comandos devem estar em letras MAIÚSCULAS.
2 - Obedecer a indentação do código e espaço de uma linha entre os objetos.
3 - Retirar linhas desnecessárias (anotações, iniciadas em *, etc)

Exemplo:

Código: Selecionar todos

     DEFINE BUTTONEX button_001
            PARENT form_clientes
            PICTURE path_imagens+'incluir.bmp'
            COL 1020
            ROW 60
            WIDTH 160
            HEIGHT 60
            CAPTION '&1 - Incluir'
            FONTNAME 'verdana'
            FONTSIZE 10
            FONTBOLD .T.
            FLAT .F.
            NOXPSTYLE .T.
     END BUTTONEX

     DEFINE BUTTONEX button_002
            PARENT form_clientes
            PICTURE path_imagens+'alterar.bmp'
            COL 1020
            ROW 125
            WIDTH 160
            HEIGHT 60
            CAPTION '&2 - Alterar'
            FONTNAME 'verdana'
            FONTSIZE 10
            FONTBOLD .T.
            FLAT .F.
            NOXPSTYLE .T.
     END BUTTONEX
Observe que na primeira indentação é de 5 espaços e nos demais parâmetros é de 12 espaços.

No caso de PARENT e FLAT .F. não é necessário, pois a IDE não declara o parâmetro PARENT e nem parâmetros declarados com .F., são ignorados.

As linhas com * devem ser retiradas, por exemplo as seguintes linhas:

Código: Selecionar todos

         * botões
           *action dados(1)
Evite também usar valores com um zero a esquerda, por exemplo:

Código: Selecionar todos

           row 060
ou
           height 060
Observação: como a IDE não vai saber o que é path_imagens, então as imagens não serão apresentadas quando o formulários for aberto pela IDE.

Abraços,

Formulario nao atualiza - HMGS

Enviado: 15 Abr 2015 10:29
por rubens
Bom dia Toledo...

Então, agora sim o formulário tá abrindo certinho em tempo de desenvolvimento... a questão das figuras deixei estático... daí vou vendo exatamente como vai ficar na execução (não exatamente porque o no buttonex no desenvolvimento a figura fica a direita e na execução a figura fica a esquerda, mas tá ótimo).

Quanto ao PARENT, herdei isso na função, mas não sei o que há de benefício nela. Que diferença faz eu usar ou não usar ?

Obrigado
Rubens