Jump to content
Fivewin Brasil

Fechar aplicação inteira (Resolvido)


Eroni

Recommended Posts

Olá, em relação ao código abaixo:

#include "fivewin.ch"

FUNCTION main()

DEFINE WINDOW owin from 0,0 TO 25,60 title "Aplicacao" // aplicação principal

Activate window oWin ON init _mais()

RETURN( NIL )

STATIC FUNCTION _mais()

LOCAL oWnd

DEFINE WINDOW oWnd FROM 2, 2 TO 23,45 TITLE "Relatorio " MDI // relatorio

Activate window oWnd ON init _Texto( oWnd )

RETURN( NIL )

STATIC FUNCTION _texto( oWnd )

LOCAL oWndChild

DEFINE WINDOW oWndChild MDICHILD FROM 0,0 ;

TO oWnd:nBottom,oWnd:nRight ;

OF oWnd VSCROLL HSCROLL PIXEL ;

BORDER NONE ;

NO SYSMENU TITLE ""

Activate window oWndChild MAXIMIZED

RETURN( NIL )

Quando fecha a janela principal (aplicação) como fechar tudo sem dar pau nem ficar na memória?

Obrigado.

Eroni

(48) 3045-1575

xHarbour 0.99.5 & FWH 2.4

SqlLib, MySql & Dbf

Editado por - eroni on 03/04/2008 16:58:57

Editado por - eroni on 04/04/2008 16:19:33

Link to comment
Share on other sites

Olá, em relação ao código abaixo:

#include "fivewin.ch"

FUNCTION main()

DEFINE WINDOW owin from 0,0 TO 25,60 title "Aplicacao" // aplicação principal

Activate window oWin ON init _mais()

RETURN( NIL )

STATIC FUNCTION _mais()

LOCAL oWnd

DEFINE WINDOW oWnd FROM 2, 2 TO 23,45 TITLE "Relatorio " MDI // relatorio

Activate window oWnd ON init _Texto( oWnd )

RETURN( NIL )

STATIC FUNCTION _texto( oWnd )

LOCAL oWndChild

DEFINE WINDOW oWndChild MDICHILD FROM 0,0 ;

TO oWnd:nBottom,oWnd:nRight ;

OF oWnd VSCROLL HSCROLL PIXEL ;

BORDER NONE ;

NO SYSMENU TITLE ""

Activate window oWndChild MAXIMIZED

RETURN( NIL )

Quando fecha a janela principal (aplicação) como fechar tudo sem dar pau nem ficar na memória?

Obrigado.

Eroni

(48) 3045-1575

xHarbour 0.99.5 & FWH 2.4

SqlLib, MySql & Dbf

Editado por - eroni on 03/04/2008 16:58:57

Editado por - eroni on 04/04/2008 16:19:33

Link to comment
Share on other sites


#include "fivewin.ch"

STATIC oWin

//-> janela mae - madre

FUNCTION main()

DEFINE WINDOW owin from 0,0 TO 25,60 title "Aplicacao" // aplicação principal

Activate window oWin ;

ON INIT( _mais() ) ;

VALID( Saida( oWin ) )

RETURN( NIL )

//-> saida do sistema

STATIC FUNCTION Saida( oWin )

// DbCloseAll()

//-> Se tivesse bibliotecas

/*

FreeLibrary( hBorland )

FreeResources() // Set Resources To

RELEASE BRUSH oBrush

*/

Release All

SysRefresh()

oWin:End() //-> Vale para um botao tambem

RETURN NIL

//-> Janela auxiliar

STATIC FUNCTION _mais()

LOCAL oWnd

DEFINE WINDOW oWnd FROM 2, 2 TO 23,45 TITLE "Relatorio " MDI // relatorio

Activate window oWnd ON init _Texto( oWnd )

oWnd:End() //-> Vale para botao

RETURN( NIL )

//-> janela filha - hija

STATIC FUNCTION _texto( oWnd )

LOCAL oWndChild

DEFINE WINDOW oWndChild MDICHILD FROM 0,0 ;

TO oWnd:nBottom,oWnd:nRight ;

OF oWnd VSCROLL HSCROLL PIXEL ;

BORDER NONE ;

NO SYSMENU TITLE ""

Activate window oWndChild MAXIMIZED

RETURN( NIL )

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Valeu kapiaba, mas na minha aplicação eu já fazia assim, conforme você estruturou. Acontece que no exemplo alterado por você funciona legal, mas na minha aplicação não.

O erro é:

erro.bmp

Mas basicamente a lógica é a que eu descreví, vou tentar descobrir. O erro começou a aparecer depois que eu mudei a tela do relatorio para MDI e uma filha dentro dela.

Mas valeu a ajuda.

Abraço

Eroni

(48) 3045-1575

xHarbour 0.99.5 & FWH 2.4

SqlLib, MySql & Dbf

Link to comment
Share on other sites

Eroni, tente dessa forma abaixo:


oWnd:end()

postQuitMessage(0)

__quit()

id=code>id=code>

Júlio César M. Ferreira

Diretor de Tecnologia

RS Consultores Ltda.

Fone: (81) 4009.5444

Fax: (81) 4009.5400

E-mail: julio.mferreira@gmail.com

MSN: julio_mferreira@hotmail.com

Recife - PE

FWh 6.12, xHarbour 0.99.70, SQL LIB, Pelles 5.00.3

Link to comment
Share on other sites

Eroni,

Algumas alterações do seu código:

*****************************************************


Static oWnd, oWin

//---------------------------------------------------------------------------

FUNCTION main()

DEFINE WINDOW owin from 0,0 TO 25,60 title "Aplicacao" // aplicação principal

Activate window oWin ON init _mais() Valid ( Sair(), .t. )

RETURN( NIL )

//---------------------------------------------------------------------------

FUNCTION Sair()

oWnd:End()

Sysrefresh()

oWin:End()

Return .t.

//---------------------------------------------------------------------------

STATIC FUNCTION _mais()

DEFINE WINDOW oWnd FROM 2, 2 TO 23,45 TITLE "Relatorio " MDI // relatorio

Activate window oWnd ON init _Texto( oWnd )

RETURN( NIL )

//---------------------------------------------------------------------------

STATIC FUNCTION _texto( oWnd )

LOCAL oWndChild

DEFINE WINDOW oWndChild MDICHILD FROM 0,0 ;

TO oWnd:nBottom,oWnd:nRight ;

OF oWnd VSCROLL HSCROLL PIXEL ;

BORDER NONE ;

NO SYSMENU TITLE ""

Activate window oWndChild MAXIMIZED

RETURN( NIL )

id=code>id=code>

*****************************************************

testa aí.

Ricardo Marques

VRMM-Visual Fivewin

Link to comment
Share on other sites

Júlio, tentei adicionar as funções que você citou, mas o problema persiste. Quanto a sugestão do Ricardo, não tenho como fazer, pois na verdade a minha aplicação é muito mais complexa, a janela do relatório é aberta muitas vezes e em pontos diferentes do sistema pelo usuário, e ao fechar a aplicação principal sem antes ter fechado o relatório é que dá o erro. Se fechar a janela do relatório antes dai tudo ok. O que eu vou tentar agora é construir um array público para armazenar todas as janelas do sistema, e ao fechar a aplicação, fechar todas as janelas abertas antes da principal. Vou fazer os testes e depois posto o resultado.

Abraços

(48) 3045-1575

xHarbour 0.99.5 & FWH 2.4

SqlLib, MySql & Dbf

Link to comment
Share on other sites

Tenho este mesmo problema com o PREVIEW

AO Fechar a aplicação com o preview aberto e só depois finalizaerr , fechar o preview o systema fica na memória , ae tenho que forçar sua finlaização :(

Eder Xavier

msn:eder_xavier_2@hotmail.com

Xharbour /fivewin 7.12 workshop /VSX

Editado por - naruto uzumaki on 04/04/2008 08:55:13

Link to comment
Share on other sites

citação:

Tenho este mesmo problema com o PREVIEW

AO Fechar a aplicação com o preview aberto e só depois finalizaerr , fechar o preview o systema fica na memória , ae tenho que forçar sua finlaização :(

Eder Xavier

msn:eder_xavier_2@hotmail.com

Xharbour /fivewin 7.12 workshop /VSX

Editado por - naruto uzumaki on 04/04/2008 08:55:13


id=quote>id=quote>

VOCE USA PREVIEW MODAL???

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

citação:

yés !

____________________________

Eder Xavier

msn:eder_xavier_2@hotmail.com

Xharbour /fivewin 7.12 workshop /VSX


id=quote>id=quote>

JANELA MDI?? EXPLANE A LOGICA...

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Brother é um preview comum que abre em outra WINDOW ;)id=purple>


if Empty( oPrinter:hDC )

return nil // Printer was not installed or ready

msgStop("Não existe impressora instalada")

endif

oPrinter:SetLandScape(.t.)

DEFINE FONT oFontINI NAME "Times new roman" SIZE 0, -20 OF oPrinter

DEFINE FONT oFontCAB NAME "lucida console" SIZE 0, -11 OF oPrinter

DEFINE FONT oFont NAME "lucida console" SIZE 0,-9 OF oPrinter

ResColuna:=oPrinter:nlogpixelx()/2.54

ResLinha:=oPrinter:nlogpixely()/2.54

do WHILE ! EOF()

PAGE

LN=3.3

LINHA:=0

oPrinter:SayBitmap(0.5*ResLinha,1*ResColuna, "..\sysfia\RC\BMP_logo.bmp",1.5*ResLinha,1.5*ResColuna)

oPrinter:say(0.5*ResLinha,5*ResColuna,".:SysFia - Relatório Fornecedores:.",ofontINI)

oPrinter:Line(2.2*ResLinha,0.2*ResColuna,2.2*ResLinha,29.2*ResColuna)

oPrinter:Line(3*ResLinha,0.2*ResColuna,3*ResLinha,29.2*ResColuna)

oPrinter:say(2.3*ResLinha,0.2*ResColuna,"Cod.",oFontCAB)

oPrinter:say(2.3*ResLinha,1.7*ResColuna,"Nome Fornecedor",oFontCAB)

oPrinter:say(2.3*ResLinha,9.3*ResColuna,"Endereço",oFontCAB)

oPrinter:say(2.3*ResLinha,15.1*ResColuna,"Bairro",oFontCAB)

oPrinter:say(2.3*ResLinha,22.0*ResColuna,"Fone",oFontCAB)

oPrinter:say(2.3*ResLinha,25.5*ResColuna,"CEP",oFontCAB)

do WHILE ! EOF() .and. LINHA++<=40

oPrinter:Say(ln*ResLinha,0.2*ResColuna,STRzero(A->cod),ofont)

oPrinter:Say(ln*ResLinha,1.7*ResColuna,Substr(A->nome,1,30),ofont)

oPrinter:Say(ln*ResLinha,9.3*ResColuna,iif(!empty(A->END),Substr(A->END,1,30),"*****"),oFont)

oPrinter:Say(ln*ResLinha,15.1*ResColuna,iif(!empty(A->bairro),Substr(A->Bairro,1,30),"*****"),oFont)

oPrinter:Say(ln*ResLinha,22.0*ResColuna,(A->Fone),oFont)

oPrinter:Say(ln*ResLinha,25.5*ResColuna,iif(!empty(A->Cep),(A->Cep),("*****")),oFont)

ln+=0.4

skip

ENDDO

ENDPAGE

ENDDO

oFont:End() // Destroy the font object

ENDPRINT

id=code>id=code>

____________________________

Eder Xavier

msn:eder_xavier_2@hotmail.com

Xharbour /fivewin 7.12 workshop /VSX

Editado por - naruto uzumaki on 04/04/2008 11:24:44

Link to comment
Share on other sites

PORQUE NÃO PASSAS O OBJETO DA JANELA COMO PUBLIC E AO FECHAR A WINDOW PRINCIPAL, SE ELE FICAR NO RODAPE, PIMBA NELE??

GOSTEI DO EXEMPLO, NÃO LEMBRO ONDE VI ISSO.... KKKKKKKKK.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

citação:

PORQUE NÃO PASSAS O OBJETO DA JANELA COMO PUBLIC E AO FECHAR A WINDOW PRINCIPAL, SE ELE FICAR NO RODAPE, PIMBA NELE??

GOSTEI DO EXEMPLO, NÃO LEMBRO ONDE VI ISSO.... KKKKKKKKK.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe


id=quote>id=quote>

Claro que gostou , foi eu quem lhe encinou a fazer ... ;)

oWnd:end() //public , não funga :(

____________________________

Eder Xavier

msn:eder_xavier_2@hotmail.com

Xharbour /fivewin 7.12 workshop /VSX

Link to comment
Share on other sites

VERIFIQUE SE AS JANELAS NÃO ESTAO COM A MESMA VARIAVEL.

OWND, NÃO PÓÓÓDYYY PARA TODAS, CADA UMA COM UM NOME TIO...

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

citação:

VERIFIQUE SE AS JANELAS NÃO ESTAO COM A MESMA VARIAVEL.

OWND, NÃO PÓÓÓDYYY PARA TODAS, CADA UMA COM UM NOME TIO...

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Fone: (11) 3106-2832

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe


id=quote>id=quote>

Eu sei né , no caso o oWnd saria para a primeira window e supostamente "não sei " o preview usa este objeto !

____________________________

Eder Xavier

msn:eder_xavier_2@hotmail.com

Xharbour /fivewin 7.12 workshop /VSX

Link to comment
Share on other sites

Amigos, ob rigado por todas as manifestações neste tópico. Encontrei o probblema, mas a solução não é tão simples assim. No código abaixo, onde tem ? "validar" não passa por ali quando se fecha a aplicação sem ter fechado as outras janelas antes, testem:

#include "fivewin.ch"

STATIC oWin

FUNCTION main()

DEFINE WINDOW owin from 0,0 TO 25,60 title "Aplicacao" // aplicação principal

@ 01,01 BUTTON "Criar" action _mais() size 50,20

@ 03,01 BUTTON "Sair" action Saida( oWin ) size 50,20

Activate window oWin vALID( Saida( oWin ) )

RETURN( NIL )

STATIC FUNCTION Saida( oWin )

oWin:End()

RETURN NIL

STATIC FUNCTION _mais()

LOCAL oWnd

DEFINE WINDOW oWnd FROM 2, 2 TO 23,45 TITLE "Relatorio " MDI // relatorio

Activate window oWnd ON init _Texto( oWnd ) valid _Ok( oWnd )

RETURN( NIL )

STATIC FUNCTION _Ok( oWnd )

? "VALIDOU" // quando fecha a aplicação sem fechar as janelas, nao passa por aqui

RETURN( .t. )

STATIC FUNCTION _texto( oWnd )

LOCAL oWndChild

DEFINE WINDOW oWndChild MDICHILD FROM 0,0 ;

TO oWnd:nBottom,oWnd:nRight ;

OF oWnd VSCROLL HSCROLL PIXEL ;

BORDER NONE ;

NO SYSMENU TITLE ""

Activate window oWndChild MAXIMIZED

RETURN( NIL )

(48) 3045-1575

xHarbour 0.99.5 & FWH 2.4

SqlLib, MySql & Dbf

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...