Carregando XML

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Carregando XML

Mensagem por bencz »

Olá, gostaria de saber, como posso fazer para carregar uma interface pelo XML q o xDesign gera...
bom,busquei aqui no forum, e encontrei isso:

Código: Selecionar todos

oForm1 := HFormTmpl():Read( "teste.xml" )
oForm1:Show()
mas, quando carrego o form, ele apenas pisca na tela.....
outra coisa que eu gostaria de saber é, se eu posso utilizar eventos que eu escrevi par aos botoes e etc, carregando desse XML...

Agradeço a ajuda (:
Imagem
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Carregando XML

Mensagem por bencz »

Bom, consegui resolver este problema, mas agora, caio em outro problema...

mas, quando eu crio um botão, chamando uma função, passando como parametro uma variavel, o código da erro, como posso resolver isso ?
Imagem
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Carregando XML

Mensagem por marcos.gurupi »

Seria bom vc postar a solucao do problema.
Marcos Roberto
NetService Software
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Carregando XML

Mensagem por bencz »

BOm, a minha solução foi:

Código: Selecionar todos

oForm1 := HFormTmpl():Read( "teste.xml" )
oForm1:Show(1,,)
bom, mas ainda, não consegui resolver aquele problema...

onde:

Código: Selecionar todos

function main()
    local variavel1 := "OLA"
    oForm1 := HFormTmpl():Read( "teste.xml" )
    oForm1:Show()
return nil

function lala( cString )
    MsgInfo(cString, "inf")
return nil
bom, se eu pego o botão, e faço uma chamada p/ função lala

Código: Selecionar todos

lala( variavel1 )
eu recebo um erro, falando q ele não consegue encontrar a variavel, variavel1 :(
Imagem
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Carregando XML

Mensagem por Imatech »

Olá Bencz !

Na propriedade do formulário (no inspector) vá em SCOPEVAROBJ ou SCOPECTRLOBJ e defina como PUBLIC, PRIVATE ou LOCAL

ou simplesmente declare a variavel como PUBLIC ou PRIVATE

Exemplo:

Código: Selecionar todos


MEMVAR variavel1

function main()
  public variavel1 := "OLA"
  oForm1 := HFormTmpl():Read( "teste.xml" )
  oForm1:Show()
return nil

function lala( cString )
  MsgInfo(cString, "inf")
return nil

M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Carregando XML

Mensagem por bencz »

Bom, mas, pq quando eu tento usar o ONCHANGE do textbox, não funciona ?
Imagem
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Carregando XML

Mensagem por Imatech »

Olá Bencz !


Faça post com exemplo completo para análise (ainda não vi o código do form)...


Fica + claro para se analisar...



Abç...
M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Carregando XML

Mensagem por bencz »

Ok, tenho este XML

Código: Selecionar todos

<?xml version="1.0" encoding="UTF-8"?>
<part class="form">
  <style>
    <property name="Geometry">{456,416,499,244}</property>
    <property name="Name">[]</property>
    <property name="Caption">[Form1]</property>
    <property name="AlwaysOnTop">.F.</property>
    <property name="AutoCenter">.T.</property>
    <property name="FormType">[dlgModal]</property>
    <property name="Modal">.T.</property>
    <property name="ScopeVarObj">[Local]</property>
    <property name="lClipper">.T.</property>
    <property name="lExitOnEnter">.T.</property>
    <property name="lExitOnESC">.T.</property>
    <property name="FromStyle">[Popup]</property>
    <property name="Clipsiblings">.F.</property>
    <property name="Clipchildren">.F.</property>
    <property name="TitleBar">.T.</property>
    <property name="StyleBorder">[3 - Sizable (Default)]</property>
    <property name="Icon">[]</property>
    <property name="NoIcon">.F.</property>
    <property name="SystemMenu">.T.</property>
    <property name="Minimizebox">.F.</property>
    <property name="Maximizebox">.F.</property>
    <property name="Closable">.T.</property>
    <property name="AbsAlignment">.T.</property>
    <property name="WindowState">[1 - Normal (Default)]</property>
    <property name="minHeight">-1</property>
    <property name="maxHeight">-1</property>
    <property name="minWidth">-1</property>
    <property name="maxWidth">-1</property>
    <property name="ScrollBars">[0 - None (Default)]</property>
    <property name="DSControl">.F.</property>
  </style>
  <part class="button" inclass="">
    <style>
      <property name="Geometry">{123,14,90,30}</property>
      <property name="Name">[oButton1]</property>
      <property name="Caption">[Teste]</property>
      <property name="TabIndex">1</property>
    </style>
    <method name="onClick"  ="">
      <![CDATA[teste( lala )]]>
    </method>
  </part>
  <part class="editbox" inclass="">
    <style>
      <property name="Geometry">{16,59,298,22}</property>
      <property name="Name">[oEdit1]</property>
      <property name="varName">[MCO]</property>
      <property name="TabIndex">2</property>
    </style>
    <method name="onChange"  ="">
      <![CDATA[MsgINFO("teste", "testando")]]>
    </method>
  </part>
  <part class="editbox" inclass="">
    <style>
      <property name="Geometry">{16,94,298,22}</property>
      <property name="Name">[oEdit2]</property>
      <property name="varName">[MCO]</property>
      <property name="TabIndex">3</property>
    </style>
  </part>
</part>
e o código que estou usando para testar este XML é:

Código: Selecionar todos

#include "hwgui.ch"

function main()
   private lala := "dsadsads"
   private MCO := "lalalalalalalalalalalala"

   WVW_SETTITLE(,"dsa")

   oForm1 := HFormTmpl():Read( "teste.xml" )
   oform1:Show(1,,)
return nil

function teste( cString )
   MsgInfo(cString, "Teste")
return nil
Bom, quando eu digito no textbox, ele deveria aparecer o msginfo, mas... nada acontece :/
Imagem
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

Carregando XML

Mensagem por Imatech »

O parâmetro esperado não seria um bloco de código !
ou talvez o uso de Macro Comando ?


{ || teste( &lala ) }

Código: Selecionar todos


	      <![CDATA[{ || teste( &lala ) }]]>

M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Responder