Eroni Posted April 3, 2008 Report Share Posted April 3, 2008 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 Quote Link to comment Share on other sites More sharing options...
Eroni Posted April 3, 2008 Author Report Share Posted April 3, 2008 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 3, 2008 Report Share Posted April 3, 2008 #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 Quote Link to comment Share on other sites More sharing options...
Eroni Posted April 3, 2008 Author Report Share Posted April 3, 2008 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 é: 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 Quote Link to comment Share on other sites More sharing options...
jc Posted April 3, 2008 Report Share Posted April 3, 2008 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 Quote Link to comment Share on other sites More sharing options...
ricardomouramarques Posted April 3, 2008 Report Share Posted April 3, 2008 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 Quote Link to comment Share on other sites More sharing options...
Eroni Posted April 4, 2008 Author Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted April 4, 2008 Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 4, 2008 Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted April 4, 2008 Report Share Posted April 4, 2008 yés ! ____________________________ Eder Xavier msn:eder_xavier_2@hotmail.com Xharbour /fivewin 7.12 workshop /VSX Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 4, 2008 Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted April 4, 2008 Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 4, 2008 Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted April 4, 2008 Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 4, 2008 Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
Naruto uZumaki Posted April 4, 2008 Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
Eroni Posted April 4, 2008 Author Report Share Posted April 4, 2008 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 Quote Link to comment Share on other sites More sharing options...
Eroni Posted April 4, 2008 Author Report Share Posted April 4, 2008 Simplesmente mudei a validação das janelas. Abraços. Eroni (48) 3045-1575 xHarbour 0.99.5 & FWH 2.4 SqlLib, MySql & Dbf Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.