Tenho um programa que abre a janela principal (main), a partir dos dados digitados no (main), ele abre a segunda janela (child). No entanto, ao tentar gravar o conteudo do textbox da 2a janela, o sistema dá erro na execução, com o seguinte alerta: "Control: Text_4 Of Form_2 Not defined. Program Terminated."
Ou seja, por se tratar de uma janela filha, o sistema não está deixando eu gravar numa variável, o conteudo digitado no campo text_4.
Alguem poderia me ajudar, por favor?
Eu utilizo o HMG-IDE 1.2a.
#include "hmg.ch"
#include "hbclass.ch"
#include "minigui.ch"
#include "common.ch"
//#define VAR_TRF:=(Form_2.Text_4.Value)
Function main()
declare window FORM_2
//declare window FORM_2.TEXT_4
#define FORM_2.TEXT_4.VALUE
REQUEST HB_GT_GUI_DEFAULT
REQUEST DBFNTX
REQUEST DBFCDX, DBFFPT
HB_LANGSELECT("PT")
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_UTF8EX
hb_cdpSelect( "UTF8EX" )
HB_SETCODEPAGE("PT850")
REQUEST HB_CODEPAGE_PTISO
HB_SETCODEPAGE("PTISO")
HB_LANGSELECT("PT")
request hb_codepage_gbk
REQUEST HB_GT_WIN_DEFAULT
SET CODEPAGE TO PORTUGUESE
SET LANGUAGE TO PORTUGUESE
SET CODEPAGE TO UNICODE
SET CENTURY ON
SET DATE BRITISH
SET CENTURY ON
SET TOOLTIPSTYLE BALLOON
SET WRAP ON
SET interactiveclose on
SET multiple off warning
SET navigation extended
SET DELIMITERS ON
//_IsWindowDefined (Form_2)
PRIVATE VAR_TRF:=""
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 640 ;
HEIGHT 480 ;
TITLE 'TreeView Sample' ;
MAIN
ON KEY ESCAPE ACTION ThisWindow.Release()
DEFINE MAIN MENU
POPUP '&File'
ITEM 'Get Tree Value' ACTION MsgInfo( Str ( Form_1.Tree_1.Value ) )
ITEM 'Set Tree Value' ACTION Form_1.Tree_1.Value := val(inputbox('',''))
ITEM 'Collapse Item' ACTION Form_1.Tree_1.Collapse ( val(inputbox('','') ) )
ITEM 'Expand Item' ACTION Form_1.Tree_1.Expand ( val(inputbox('','') ) )
END POPUP
END MENU
DEFINE CONTEXT MENU
ITEM 'About' ACTION MsgInfo ("Free GUI Library For Harbour","HMG Tree Demo")
END MENU
DEFINE TREE Tree_1 AT 10,10 WIDTH 500 HEIGHT 550 VALUE 15 FONT "ARIAL" SIZE 14 DynamicForeColor WHITE DynamicBackColor YELLOW;
ON DBLCLICK IF (Form_1.Tree_1.IsExpand (Form_1.Tree_1.Value) == .F. ,;
Form_1.Tree_1.Expand (Form_1.Tree_1.Value) ,;
Form_1.Tree_1.Collapse (Form_1.Tree_1.Value) );
//formata1 ()
NODE 'ORIGEM DOS RECURSOS'
NODE 'EMPRESA Matriz'
TREEITEM 'CONTA CORRENTE 1'
TREEITEM 'CONTA CORRENTE 2'
END NODE
END NODE
END TREE
DEFINE TREE Tree_2 AT 10,550 WIDTH 500 HEIGHT 550 VALUE 3 FONT "ARIAL" SIZE 14 DynamicForeColor WHITE DynamicBackColor YELLOW;
ON DBLCLICK IF (Form_1.Tree_2.IsExpand (Form_1.Tree_2.Value) == .F. ,;
Form_1.Tree_2.Expand (Form_1.Tree_2.Value) ,;
Form_1.Tree_2.Collapse (Form_1.Tree_2.Value) );
NODE 'DESTINO DOS RECURSOS'
NODE 'EMPRESA - FILIAL'
TREEITEM 'CONTA CORRENTE 1'
TREEITEM 'CONTA CORRENTE 2'
END NODE
END NODE
END TREE
DEFINE BUTTON Text_And_Image_Button
ROW 570
COL 870
WIDTH 180
HEIGHT 50
ACTION PEGA1 ()
CAPTION "Avançar"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP "Avançar"
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
HELPID Nil
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
PICTURE "avanca.BMP"
PICTALIGNMENT LEFT
END BUTTON
END WINDOW
MAXIMIZE WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
FUNCTION PEGA1 ()
PUBLIC C_ORIGEM:=""
PUBLIC C_ORIGEM:=( Form_1.Tree_1.Item ( Form_1.Tree_1.Value ) )
IF EMPTY(C_ORIGEM).OR.C_ORIGEM="ORIGEM DOS RECURSOS"
ALERT ("ESCOLHER CONTA DE ORIGEM")
RetuRN
ENDIF
PUBLIC C_DESTINO:=""
PUBLIC C_DESTINO:=( Form_1.Tree_2.Item ( Form_1.Tree_2.Value ) )
IF EMPTY(C_DESTINO).OR.C_DESTINO="DESTINO DOS RECURSOS"
ALERT ("ESCOLHER CONTA DE DESTINO")
RetuRN
ENDIF
pega2()
return
FUNCTION PEGA2 ()
GRAVAR()
DEFINE WINDOW Form_2 ;
AT 0,0 ;
WIDTH 1200 HEIGHT 500 ;
TITLE "HMG Demo" ;
CHILD ;
FONT "Arial" SIZE 10 BACKCOLOR YELLOW
ON KEY ESCAPE ACTION ThisWindow.Release()
DEFINE LABEL Label_1
ROW 10
COL 100
WIDTH 700
HEIGHT 60
VALUE upper("Lancamento de transferencia")
FONTNAME "Arial"
FONTSIZE 18
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .F.
BACKCOLOR YELLOW
FONTCOLOR Nil //{160,82,45}
END LABEL
DEFINE LABEL Label_2
ROW 80
COL 40
WIDTH 100
HEIGHT 53
VALUE upper("O Dinheiro sai da conta:")
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .t.
BACKCOLOR YELLOW
FONTCOLOR {0,0,0}
END LABEL
DEFINE LABEL Label_3
ROW 80
COL 220
WIDTH 500
HEIGHT 24
VALUE alltrim(C_ORIGEM)
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .f.
BACKCOLOR YELLOW
FONTCOLOR {0,0,205}
END LABEL
DEFINE LABEL Label_4
ROW 120
COL 40
WIDTH 100
HEIGHT 53
VALUE upper("O Dinheiro VAI PARA A conta:")
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .t.
BACKCOLOR YELLOW
FONTCOLOR {0,0,0}
END LABEL
DEFINE LABEL Label_5
ROW 120
COL 260
WIDTH 500
HEIGHT 24
VALUE alltrim(C_DESTINO)
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .f.
BACKCOLOR YELLOW
FONTCOLOR {0,0,205}
END LABEL
DEFINE LABEL Label_6
ROW 170
COL 40
WIDTH 50
HEIGHT 24
VALUE "DATA DO LANÇAMENTO: "
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .t.
BACKCOLOR YELLOW
FONTCOLOR {0,0,205}
END LABEL
DEFINE TEXTBOX Text_1
ROW 170
COL 260
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
DATE .T.
VALUE DATE() //ctod('01/01/01')
END TEXTBOX
DEFINE LABEL Label_7
ROW 200
COL 40
WIDTH 50
HEIGHT 24
VALUE "VALOR DA TRANSFERENCIA: "
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .t.
BACKCOLOR YELLOW
FONTCOLOR {0,0,205}
END LABEL
DEFINE TEXTBOX Text_2
ROW 200
COL 260
WIDTH 120
HEIGHT 24
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
FORMAT Nil
NUMERIC .T.
VALUE 100
INPUTMASK '999,999,999.99' //'@E 999,999,999.99'
END TEXTBOX
DEFINE LABEL Label_8
ROW 230
COL 40
WIDTH 300
HEIGHT 24
VALUE "HISTORICO: "
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .t.
BACKCOLOR YELLOW
FONTCOLOR {0,0,205}
END LABEL
DEFINE TEXTBOX Text_3
ROW 230
COL 260
WIDTH 500
HEIGHT 24
MaxLength=40
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .T.
VISIBLE .T.
READONLY .T.
RIGHTALIGN .F.
BACKCOLOR {0,0,255}
FONTCOLOR NIL
FORMAT Nil
VALUE HIST_TRF
END TEXTBOX
DEFINE LABEL Label_9
ROW 270
COL 40
WIDTH 300
HEIGHT 24
VALUE "OBSERVACAO: "
FONTNAME "Arial"
FONTSIZE 10
TOOLTIP ""
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
HELPID Nil
VISIBLE .T.
TRANSPARENT .F.
ACTION Nil
AUTOSIZE .t.
BACKCOLOR YELLOW
FONTCOLOR {0,0,205}
END LABEL
@ 270,360 TEXTBOX Text_4
WIDTH 150
HEIGHT 20
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP ""
ONCHANGE Nil
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONENTER Nil
HELPID Nil
TABSTOP .f.
VISIBLE .T.
READONLY .F.
RIGHTALIGN .F.
BACKCOLOR NIL
FONTCOLOR NIL
INPUTMASK Nil
VALUE "ATÉ 20 CARACTERES"
MAXLENGTH 20
PARENT Form_2
DEFINE BUTTON Text_And_Image_Button
ROW 300
COL 260
WIDTH 180
HEIGHT 50
ACTION GRAVAR()
CAPTION "Salvar Lançamento"
FONTNAME "Arial"
FONTSIZE 9
TOOLTIP "Salvar Lançamento"
FONTBOLD .t.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
ONGOTFOCUS Nil
ONLOSTFOCUS Nil
HELPID Nil
FLAT .F.
TABSTOP .T.
VISIBLE .T.
TRANSPARENT .F.
PICTURE "SAVE.BMP"
PICTALIGNMENT LEFT
END BUTTON
if iswindowactive(FORM_2)
DoMethod( "Form_2","Text_4","SetFocus" )
ENDIF
END WINDOW
ACTIVATE WINDOW FORM_2
Form_1.Tree_1.SetFocus
RETURN Nil
FUNCTION GRAVAR()
DO CASE
CASE C_ORIGEM="CONTA 1"
public DESCR_ORIG:="CONTA 1"
CASE C_ORIGEM="CONTA 2"
public DESCR_ORIG:="CONTA 2"
ENDCASE
DO CASE
CASE C_DESTINO="CONTA 1"
public DESCR_DEST:="CONTA 1"
CASE C_DESTINO="CONTA 2"
public DESCR_DEST:="CONTA 2"
ENDCASE
PUBLIC HIST_TRF:="Trf "+DESCR_ORIG+" p/ "+DESCR_DEST
PRIVATE VAR_TRF:=GetProperty( "Form_2", "Text_4", "VALUE")
IF VAR_TRF='ATÉ 20 CARACTERES'
PRIVATE VAR_TRF:=""
ELSE
PRIVATE VAR_TRF:=GetProperty( "Form_2", "Text_4", "VALUE")
ENDIF
set printer on
set printer to k.txt
? VAR_TRF
? HIST_TRF
? C_ORIGEM
? C_DESTINO
return