Boa tarde amigos
Tenho uma rotina que se fechar a janela pelo 'X' da janela o programa trava, parece que o foco ainda fica na janela que foi fechada, se eu fecho pelo form.release funciona beleza, uso a minigui extended .
Obrigado a todos.

Moderador: Moderadores
func Edita_pro(Modo)
local nFlag_pro := PegaValorDaColuna('grid_pro','busca_pro',3)
local x_cbar_pro, x_nome_pro, x_unit_pro, x_grup_pro, x_cust_pro, x_mar1_pro
local x_mar2_pro, x_mar3_pro, x_pve1_pro, x_pve2_pro, x_pve3_pro, x_for1_pro
local x_for2_pro, x_for3_pro, x_for4_pro, x_for5_pro, x_esto_pro, x_mini_pro
Grusismk->( dbEval( { || AADD( aGru, TRIM( Grusismk->nome_gru ) ) } ) )
Forsismk->( dbEval( { || AADD( aFor, TRIM( Forsismk->nome_for ) ) } ) )
ASORT( aGru )
ASORT( aFor )
if Modo = 1
x_cbar_pro := spac(13)
x_unit_pro := 4
else
dbselectarea('prosismk')
ordsetfocus('flag_pro')
prosismk->(dbgotop())
prosismk->(dbseek(nFlag_pro))
if found()
x_cbar_pro := prosismk->cbar_pro
x_nome_pro := prosismk->nome_pro
x_unit_pro := prosismk->unit_pro
x_grup_pro := prosismk->grup_pro
x_cust_pro := prosismk->cust_pro
x_mar1_pro := prosismk->mar1_pro
x_mar2_pro := prosismk->mar2_pro
x_mar3_pro := prosismk->mar3_pro
x_pve1_pro := prosismk->pve1_pro
x_pve2_pro := prosismk->pve2_pro
x_pve3_pro := prosismk->pve3_pro
x_for1_pro := alltrim(prosismk->for1_pro)
x_for2_pro := alltrim(prosismk->for2_pro)
x_for3_pro := alltrim(prosismk->for3_pro)
x_for4_pro := alltrim(prosismk->for4_pro)
x_for5_pro := alltrim(prosismk->for5_pro)
x_esto_pro := prosismk->esto_pro
x_mini_pro := prosismk->mini_pro
dbselectarea('prosismk')
ordsetfocus('nome_pro')
else
msgexclamation('A tabela pode estar vazia'+chr(13)+chr(10)+;
'ou você não escolheu uma informação'+chr(13)+chr(10)+;
'para alterar, tente novamente.','Atenção')
ordsetfocus('nome_pro')
return(nil)
endif
endi
IF IsWindowDefined(Form_pro)=.T.
DECLARE WINDOW Form_pro
Form_pro.restore
Form_pro.Show
Form_pro.SetFocus
msgbox("passou")
RETURN
endi
Define WINDOW Form_pro;
AT 0, 0 ;
WIDTH 900 ;
HEIGHT 600 ;
TITLE "Cadastro de Produtos" ;
icon cPathImagem+'display.ico';
modal;
nosize
on key F1 action SuporteTecnico()
on key F2 action Calculadora()
on key F3 action Calendario()
DEFINE SPLITBOX
DEFINE TOOLBAR oBar2 BUTTONSIZE 052, 052 //FLAT
BUTTON oBtb1a ;
CAPTION 'Novo';
PICTURE cPathImagem+"new.bmp" ;
ACTION new_pro() TOOLTIP "Cria um novo registro"
BUTTON oBtb2a ;
CAPTION 'Duplicar';
PICTURE cPathImagem+"dupl.bmp" ;
TOOLTIP "Duplica registro atual";
ACTION dup_pro()
BUTTON oBtb3a ;
CAPTION 'Excluir';
PICTURE cPathImagem+"del.bmp" ;
ACTION del_pro() TOOLTIP "Exclui este registro"
BUTTON oBtb4a ;
CAPTION 'Imprime';
PICTURE cPathImagem+"printer_ico.bmp" ;
ACTION nada() TOOLTIP "Imprime o Registro atual"
BUTTON oBtb5a ;
CAPTION 'Primeiro';
PICTURE cPathImagem+"top.bmp" ;
ACTION nav_pro(1) TOOLTIP "Vai para o primeiro registro"
BUTTON oBtb6a ;
CAPTION 'Anterior';
PICTURE cPathImagem+"left.bmp" ;
ACTION nav_pro(2); TOOLTIP"Vai para o registro anterior"
BUTTON oBtb7a ;
CAPTION 'Próximo';
PICTURE cPathImagem+"right.bmp" ;
ACTION Nav_pro(3) TOOLTIP "Vai para o próximo registro"
BUTTON oBtb8a ;
CAPTION 'Ùltimo';
PICTURE cPathImagem+"bot.bmp" ;
ACTION Nav_pro(4) TOOLTIP "Vai para o último registro"
END TOOLBAR
END SPLITBOX
@ 075, 005 FRAME oGrp1 ;
CAPTION "Produto" ;
WIDTH 880 ;
HEIGHT 440 ;
FONT "Tahoma" SIZE 10;
FONTCOLOR { 000, 000, 000 }
BACKCOLOR { 252, 252, 254 }
*__________________
DEFINE LABEL lbl_cbar_pro
ROW 100
COL 010
WIDTH 126
HEIGHT 020
VALUE "Código de barras"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_cbar_pro
ROW 100
COL 150
WIDTH 150
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
FONTBOLD .T.
TOOLTIP "Digite o código de barras"
UPPERCASE .T.
MAXLENGTH 13
VALUE x_cbar_pro
IF MODO = 1
ON ENTER PESQ_CBAR(form_pro.oGet_cbar_pro.value)
ENDI
END TEXTBOX
*__________________
*__________________
DEFINE BUTTONEX btn_ger_cbar
ROW 098
COL 305
WIDTH 150
HEIGHT 022
CAPTION "Gerar Código de Barras"
TOOLTIP "Gera um novo código de barras"
NOTABSTOP .T.
ACTION GERA_CBAR()
END BUTTONEX
*__________________
*__________________
DEFINE LABEL lbl_nome_pro
ROW 130
COL 010
AUTOSIZE .T.
HEIGHT 26
VALUE "Nome Produto"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_nome_pro
ROW 130
COL 150
WIDTH 500
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
FONTBOLD .T.
UPPERCASE .T.
BACKCOLOR _GETDESTAQUE
TOOLTIP "Digite o nome do produto"
VALUE x_nome_pro
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_unit_pro
ROW 160
COL 010
AUTOSIZE .T.
HEIGHT 20
VALUE "Unidade"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE COMBOBOX oGet_unit_pro
ROW 160
COL 150
WIDTH 100
ITEMS aUnid
VALUE x_unit_pro
TOOLTIP "Digite a unidade do Produto"
END COMBOBOX
*__________________
*__________________
DEFINE LABEL lbl_grup_pro
ROW 190
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Grupo de Produto"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE COMBOSEARCHBOX oGet_grup_pro
ROW 190
COL 150
WIDTH 150
ITEMS aGru
UPPERCASE .T.
if modo = 2
VALUE x_grup_pro
endi
END COMBOSEARCHBOX
*__________________
*__________________
define buttonex btn_add_gru
row 190
col 305
width 20
height 020
picture cPathImagem+'add.bmp'
tooltip "Incluir novo grupo de produtos"
NOTABSTOP .t.
action add_gru()
end buttonex
*__________________
*__________________
DEFINE LABEL lbl_cust_pro
ROW 220
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Último Custo"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_cust_pro
ROW 220
COL 150
WIDTH 150
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o ultimo custo do produto"
INPUTMASK '9999999.99'
NUMERIC .T.
VALUE x_cust_pro
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_mar1_pro
ROW 250
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Markup 1"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_mar1_pro
ROW 250
COL 150
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o markup 1"
VALUE x_mar1_pro
INPUTMASK '999.99'
NUMERIC .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_pve1_pro
ROW 250
COL 300
AUTOSIZE .T.
HEIGHT 020
VALUE "Preço Venda 1"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_pve1_pro
ROW 250
COL 450
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o preço de venda 1"
VALUE x_pve1_pro
INPUTMASK '9999999.99'
NUMERIC .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_mar2_pro
ROW 280
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Markup 2"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_mar2_pro
ROW 280
COL 150
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o markup 2"
VALUE x_mar2_pro
INPUTMASK '999.99'
NUMERIC .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_pve2_pro
ROW 280
COL 300
AUTOSIZE .T.
HEIGHT 020
VALUE "Preço Venda 2"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_pve2_pro
ROW 280
COL 450
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o preco de venda 2"
VALUE x_pve2_pro
INPUTMASK '9999999.99'
NUMERIC .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_mar3_pro
ROW 310
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Markup 3"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_mar3_pro
ROW 310
COL 150
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o markup 3"
VALUE x_mar3_pro
INPUTMASK '999.99'
NUMERIC .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_pve3_pro
ROW 310
COL 300
AUTOSIZE .T.
HEIGHT 020
VALUE "Preço Venda 3"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_pve3_pro
ROW 310
COL 450
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite o preço de venda 3"
VALUE x_pve3_pro
INPUTMASK '9999999.99'
NUMERIC .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_mini_pro
ROW 340
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Estoque MÃnimo"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE TEXTBOX oGet_mini_pro
ROW 340
COL 150
WIDTH 120
HEIGHT 20
FONTNAME "Tahoma"
FONTSIZE 10
TOOLTIP "Digite a quantidade mÃnima do produto"
VALUE x_mini_pro
INPUTMASK '9999999.99'
NUMERIC .T.
END TEXTBOX
*__________________
*__________________
DEFINE LABEL lbl_for1_pro
ROW 370
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Fornecedor 1"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE COMBOSEARCHBOX oGet_for1_pro
ROW 370
COL 150
WIDTH 500
ITEMS aFor
UPPERCASE .T.
VALUE x_for1_pro
END COMBOSEARCHBOX
*__________________
*__________________
define buttonex btn_add_for1
row 370
col 655
width 20
height 020
picture cPathImagem+'add.bmp'
tooltip "Incluir novo fornecedor"
NOTABSTOP .t.
action add_for()
end buttonex
*__________________
*__________________
DEFINE LABEL lbl_for2_pro
ROW 400
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Fornecedor 2"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE COMBOSEARCHBOX oGet_for2_pro
ROW 400
COL 150
WIDTH 500
ITEMS aFor
UPPERCASE .T.
VALUE x_for2_pro
END COMBOSEARCHBOX
*__________________
*__________________
define buttonex btn_add_for2
row 400
col 655
width 20
height 020
picture cPathImagem+'add.bmp'
tooltip "Incluir novo fornecedor"
NOTABSTOP .t.
action add_for()
end buttonex
*__________________
*__________________
DEFINE LABEL lbl_for3_pro
ROW 430
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Fornecedor 3"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE COMBOSEARCHBOX oGet_for3_pro
ROW 430
COL 150
WIDTH 500
ITEMS aFor
UPPERCASE .T.
VALUE x_for3_pro
END COMBOSEARCHBOX
*__________________
*__________________
define buttonex btn_add_for3
row 430
col 655
width 20
height 020
picture cPathImagem+'add.bmp'
tooltip "Incluir novo fornecedor"
NOTABSTOP .t.
action add_for()
end buttonex
*__________________
*__________________
DEFINE LABEL lbl_for4_pro
ROW 460
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Fornecedor 4"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE COMBOSEARCHBOX oGet_for4_pro
ROW 460
COL 150
WIDTH 500
ITEMS aFor
UPPERCASE .T.
VALUE x_for4_pro
END COMBOSEARCHBOX
*__________________
*__________________
define buttonex btn_add_for4
row 460
col 655
width 20
height 020
picture cPathImagem+'add.bmp'
tooltip "Incluir novo fornecedor"
NOTABSTOP .t.
action add_for()
end buttonex
*__________________
*__________________
DEFINE LABEL lbl_for5_pro
ROW 490
COL 010
AUTOSIZE .T.
HEIGHT 020
VALUE "Fornecedor 5"
FONTNAME "Tahoma"
FONTSIZE 10
END LABEL
DEFINE COMBOSEARCHBOX oGet_for5_pro
ROW 490
COL 150
WIDTH 500
ITEMS aFor
UPPERCASE .T.
VALUE x_for5_pro
END COMBOSEARCHBOX
*__________________
*__________________
define buttonex btn_add_for5
row 490
col 655
width 20
height 020
picture cPathImagem+'add.bmp'
tooltip "Incluir novo fornecedor"
NOTABSTOP .t.
action add_for()
end buttonex
*__________________
DEFINE BUTTONEX BTN_GRAVA
ROW 530
COL 300
WIDTH 100
HEIGHT 030
CAPTION 'Confirmar'
PICTURE cPathImagem+'ok.bmp'
FONTNAME "Tahoma"
FONTBOLD .T.
LEFTTEXT .F.
IF Modo = 1
ACTION Grava_pro(1)
ELSE
ACTION Grava_pro(2)
ENDI
END BUTTONEX
DEFINE BUTTONEX BTN_CANCELA
ROW 530
COL 425
WIDTH 100
HEIGHT 030
CAPTION 'Fechar'
PICTURE cPathImagem+'cancela.bmp'
FONTNAME "Tahoma"
FONTBOLD .T.
LEFTTEXT .F.
ACTION form_pro.release
END BUTTONEX
END WINDOW
CENTER WINDOW form_pro
if Modo=1
form_pro.oBtb1a.Enabled := .f.
form_pro.oBtb2a.Enabled := .f.
form_pro.oBtb3a.Enabled := .f.
form_pro.oBtb4a.Enabled := .f.
form_pro.oBtb5a.Enabled := .f.
form_pro.oBtb6a.Enabled := .f.
form_pro.oBtb7a.Enabled := .f.
form_pro.oBtb8a.Enabled := .f.
else
form_pro.oBtb1a.Enabled := .t.
form_pro.oBtb2a.Enabled := .t.
form_pro.oBtb3a.Enabled := .t.
form_pro.oBtb4a.Enabled := .t.
form_pro.oBtb5a.Enabled := .t.
form_pro.oBtb6a.Enabled := .t.
form_pro.oBtb7a.Enabled := .t.
form_pro.oBtb8a.Enabled := .t.
endi
form_pro.ACTIVATE
return(nil)
*_______________________________________________________________________________
*_______________________________________________________________________________
*_______________________________________________________________________________
Func new_pro
form_pro.oGet_cbar_pro.value := space(13)
form_pro.oGet_nome_pro.value := space(60)
form_pro.oGet_unit_pro.value := 4
form_pro.oGet_grup_pro.value := spac(20)
form_pro.oGet_cust_pro.value := 0
form_pro.oGet_mar1_pro.value := 0
form_pro.oGet_mar2_pro.value := 0
form_pro.oGet_mar3_pro.value := 0
form_pro.oGet_pve1_pro.value := 0
form_pro.oGet_pve2_pro.value := 0
form_pro.oGet_pve3_pro.value := 0
form_pro.oGet_for1_pro.value := space(60)
form_pro.oGet_for1_pro.value := space(60)
form_pro.oGet_for3_pro.value := space(60)
form_pro.oGet_for4_pro.value := space(60)
form_pro.oGet_for5_pro.value := space(60)
*form_pro.oGet_esto_pro.value := prosismk->esto_pro
form_pro.oGet_mini_pro.value := 0
*form_pro.btn_grava.Enabled := .t.
flag:=gerachaveprimaria()
form_pro.btn_grava.Enabled := .t.
edita_pro(2)
form_pro.oGet_cbar_pro.setfocus
return (nil)
*_______________________________________________________________________________
Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes