Primeiros testes com o SDK HMG 3.0.46, gostei do: BAIXAR -> INSTALAR -> COMEÇAR A USAR -> CORRER PRO ABRAÇO!
Projeto simples de acesso a um database MYSQL, feito via IDE:
1 FORM + 2 BUTTON.
BUTTON1 aciona a conexão do banco de dados.
BUTTON2 desfaz essa conexão.
Já consegui êxito TOTAL no objetivo! Feliz!
Mas, mas, mas... Adicionei uma certa complexidade (lembrando que estou usando a IDE)...
O BUTTON1 vem com a propriedade VISIBLE:=.T. e o BUTTON2 com a propriedade VISIBLE:=.F. facilmente definida em tempo de desenho pela IDE.
Quando aciono o BUTTON1 ele fica invisível e trás o BUTTON2 (que estava invisível). Ao acionar o BUTTON2 deveria ocorrer o inverso, ou seja, mel com açúcar!
Pensei e tentei algo como: MAIN.BUTTON_1.VISIBLE:=.T. ou ainda... MAIN.BUTTON_1:VISIBLE(.F.) sem sucesso!
Questão
Onde e como modificar as propriedades dos BUTTON dado os seguintes aquivos...
MAIN.FMG
Código: Selecionar todos
* HMG-IDE Form Designer Generated Code
* (c) Roberto Lopez - http://sites.google.com/site/hmgweb
DEFINE WINDOW TEMPLATE AT 256 ... ( + uma pá de propriedades omitidas para encurtar o codigo... )
DEFINE BUTTON Button_1
... (aqui um montão de propiedades)
VISIBLE .T.
...(aqui + um montão de propiedades)
END BUTTON
DEFINE BUTTON Button_2
... (aqui um montão de propriedades)
VISIBLE .F.
...(aqui + um montão de propriedades)
END BUTTON
END WINDOWCódigo: Selecionar todos
#include <hmg.ch>
Function Main
public oServer:=NIL
Load Window Main
Main.Center
Main.Activate
Return
Código: Selecionar todos
#include "hmg.ch"
declare window Main
Function main_button_1_action
mysql_connect("127.0.0.1", "root", "poooodicreeeee")
Return Nil Código: Selecionar todos
#include "hmg.ch"
declare window Main
Function main_button_2_action
mysql_destroy()
Return Nil Código: Selecionar todos
#include <hmg.ch>
FUNCTION mysql_connect(cHostName, cUserName, cPassword)
oServer := TmySQLserver(cHostName, cUserName, cPassword):new()
IF(cHostName==NIL, cHostName:=pcHostName, )
IF(cUserName==NIL, cUserName:=pcUserName, )
IF(cPassword==NIL, cPassword:=pcPassword, )
IF( oServer:netErr() )
msgStop("Erro de conexão ao database", "MySQL")
RETURN .F.
EndIF
msgInfo("Conexão estabelecida com sucesso!", "MySQL")
RETURN .T.
//-----------------------------------------------------------
FUNCTION mysql_destroy()
IF( oServer != NIL )
oServer:destroy()
oServer:=NIL
msgInfo("Database desconectado com sucesso!", "Mysql")
EndIF
RETURN
