PASA ALGO MUY RARO AL CERRAR MI PROGRAMA(RESUELTO)

Post Reply
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

PASA ALGO MUY RARO AL CERRAR MI PROGRAMA(RESUELTO)

Post by AIDA »

Hola primero que nada les mando muchos saludos :wink:


Les comento que mi programa está quedando bien :D con algunos problemitas pero con la ayuda de ustedes y otras que yo he podido resolver todo va bien.

Pero ahora pasa algo raro :?: ejecuto el programa funciona todo bien hasta donde lo tengo hecho lo cierro y descubro que en el Administrador de tareas de Windows aparece mi programa en la lista de procesos :shock: y desde ahí lo tengo que cerrar cuando se supone ya lo cerré, que estará pasando :?: si se supone que ya salí del programa usando una salida en Menú :?

Me podrían explicar a qué se debe esto o será un caso para la araña :roll:


A si salgo de mi programa :)


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

function BuildMenu()

local oMenu

MENU oMenu 2007
MENUITEM "&Salir" ACTION oWnd:End()

MENUITEM "&Acerca de..."

ENDMENU

return oMenu

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


Saluditos :)
Last edited by AIDA on Fri Apr 18, 2008 6:43 am, edited 1 time in total.
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
sysctrl2
Posts: 833
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Post by sysctrl2 »

es posible que se quede algun recurso abierto,,

prueba con estas lineas,,

antes del return , del programa principal

function _main()

DEFINE WINDOWS oWnd
ACTIVATE WINDOW oWnd .......????

resallfree() //por si quedan recursos en memoria....
memory(-1)
PostQuitMessage( 0 )

return nil


Saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
antolin
Posts: 475
Joined: Thu May 10, 2007 8:30 pm
Location: Sevilla

Post by antolin »

Si utilizas recursos, a lo mejor te falta el SET ROSURSES TO, o simplemente el FreeLibrary( hBorland ) del final.
Un saludo
Peaaaaaso de foro...
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Aida,

Pon un MsgInfo() al final de tu PRG, despues del ACTIVATE WINDOW y comprueba si aparece el mensaje:

ACTIVATE WINDOW oWnd ...

MsgInfo( "sale correctamente" )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Okis

Post by AIDA »

Ok hare todo lo que me recomiendan y les cuento que paso :)

Gracias :D
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Hola

Post by AIDA »

Hola

ya puse en una rutinita de salida todo lo que me recomendaron y tambien puse el MsgInfo( "sale correctamente") que me dijo Antonio y pasa lo siguiente..

si uso oWnd:End() se cierra el programa no sale el letrero del MsgInfo y se queda en memoria el programa :shock:

si no uso oWnd:End() se cierra el programa con los comando de salida que me dieron ustedes y si sale el letrerito del MsgInfo( "sale correctamente" ) y no se queda en la memoria :D

y aun no uso librerias de terceros esas las quiero para mas adelante

no uso recursos Borland en mi Rc

Que raro no creen que sera???

Saluditos. :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Re: Hola

Post by FiveWiDi »

AIDA wrote:Hola

ya puse en una rutinita de salida todo lo que me recomendaron y tambien puse el MsgInfo( "sale correctamente") que me dijo Antonio y pasa lo siguiente..

si uso oWnd:End() se cierra el programa no sale el letrero del MsgInfo y se queda en memoria el programa :shock:

si no uso oWnd:End() se cierra el programa con los comando de salida que me dieron ustedes y si sale el letrerito del MsgInfo( "sale correctamente" ) y no se queda en la memoria :D

y aun no uso librerias de terceros esas las quiero para mas adelante

no uso recursos Borland en mi Rc

Que raro no creen que sera???

Saluditos. :wink:
Enséñanos toda la línea de código de "ACTIVATE WINDOW ..."

Saludos
Carlos G.
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

AQUI ESTA

Post by AIDA »

AQUI ESTA MI MINI CODIGO LO CHECO Y LO CHECO Y NO VEO NADA RARO.



#include "FiveWin.ch"
#include "Splitter.ch"
#include "xbrowse.ch"
#Include "TGraph.Ch"
#include "report.ch"


#define ID_MEMO 110


#define BLANCO 1
#define ROJO 2
#define AMARILLO 3
#define AZUL 4
#define VERDE 5




static lExit := .F.
static oWnd
static oUnidades,cUnidad
static oUnidad:={}
//------------------------de control de tiempo
Static hOra1
Static hOra2
Static hOra3
Static hOra4
Static hOra5
Static hOra6
Static hOra7
Static hOra8

Static oHora1
Static oHora2
Static oHora3
Static oHora4
Static oHora5
Static oHora6
Static oHora7
Static oHora8
Static oHora9
//---- ----------para guardar altas
Static oReg1
Static cReg1
Static oReg2
Static cReg2
Static oReg3
Static cReg3
Static oReg4
Static cReg4
Static oReg5
Static cReg5
Static oReg6
Static cReg6
Static oReg7
Static cReg7
Static oReg8
Static cReg8
Static oReg9
Static cReg9



Static campo1
Static campo2
Static campo3
Static campo4
Static campo5
Static campo6
Static campo7
Static campo8
Static campo9


Static oTurno:= {"Turno1","Turno2","Turno3","INT"}
Static otipo:= {"Urgencia","Traslado","Falsa Alrma","Servicio Especial"}


//----------------------------campos memo
Static cText01

Static cText02

//---------------------//
Static pasito:=0
Static pErsosS
Static cFile
//---------------------------------------------------------------------------- de salva datos//
STATIC hDatos
STATIC hCtrl

STATIC ,oGraph


STATIC SW_RESTORE,GW_CHILD,GW_HWNDNEXT
//-------------------------------------
function Main()

local oOutLook2003, oStatusBar, oSplit, cCombo, oRad, nValue := 1
local oFont,oActiveX,oTimerRelog,oBrush, oBmp , oHSpl1,oVSpl1,oHSplll,oOut
local aBtn[ 1 ]
local A9 :=0
local A14 :=0
local A16 :=0
local A20 :=0
local A21 :=0
local A24 :=0
local A25 :=0
local A26 :=0

lOCAL AMBU21
Local cFileAgent
Local aAvailables := {}




USE BITACORA NEW

USE UNIDADES NEW

USE SOS NEW

USE CONTROLE NEW

dbselectarea("UNIDADES")

UNIDADES->(dbGoTop())
While(UNIDADES->( ! Eof()))
aadd(oUnidad,AllTrim(UNIDADES->UNIDAD))
UNIDADES->(dbSkip(1))
EndDo




SetBalloon( .T. )
DEFINE WINDOW oWnd TITLE "BITACORA ELECTRONICA 2008" MDI ;
MENU BuildMenu()


DEFINE OUTLOOK2003 oOutLook2003 OF oWnd ;
PROMPTS "Contactos", "Bitacora", "Calendario", "Correo","Mantenimiento","" ;
BITMAPS "notes.bmp", "sos2.bmp","calendar.bmp", "mail.bmp"

oWnd:oLeft = nil // Because the splitter is going to control the resize




@ 1, 2 BUTTON "Personal SOS" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION bitacora()
@ 3, 2 BUTTON "Hospitales" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION BuildDlg()
@ 5, 2 BUTTON "Autoridades" OF oOutLook2003:aDialogs[ 1 ] SIZE 80, 22 ACTION MsgInfo( "Edit" )


@ 1, 2 say "Control de Unidades" OF oOutLook2003:aDialogs[ 2 ]
@ 3, 5 BUTTON "Registro" OF oOutLook2003:aDialogs[ 2 ] SIZE 80, 22 ACTION Seguro()
@ 5, 5 BUTTON "Consulta" OF oOutLook2003:aDialogs[ 2 ] SIZE 80, 22 ACTION MsgInfo( "Edit" )
@ 7, 5 BUTTON "Reportes" OF oOutLook2003:aDialogs[ 2 ] SIZE 80, 22 ACTION REPORTE01()

@ 1, 2 BUTTON "Fotografias" OF oOutLook2003:aDialogs[ 3 ] SIZE 80, 22 ACTION camara()
@ 3, 2 BUTTON "Personal SOS" OF oOutLook2003:aDialogs[ 3 ] SIZE 80, 22
@ 5, 2 BUTTON "Hospitales" OF oOutLook2003:aDialogs[ 3 ] SIZE 80, 22
@ 7, 2 BUTTON "Autoridades" OF oOutLook2003:aDialogs[ 3 ] SIZE 80, 22



#ifndef __CLIPPER__
DEFINE STATUSBAR oStatusBar PROMPT "Sistema de control SOS 2008" OF oWnd
#else
DEFINE MESSAGE oStatusBar PROMPT "Sistema de control SOS 2008" OF oWnd
#endif

SetParent( oOutLook2003:hWnd, oWnd:hWnd )


@ 0, 191 SPLITTER oSplit ;
VERTICAL _3DLOOK ;
PREVIOUS CONTROLS oOutLook2003 ;
HINDS CONTROLS oWnd:oWndClient ;
SIZE 4, oWnd:nHeight - 70 PIXEL ;
OF oWnd COLOR nRgb(25,25,112)
oSplit:lStatic:=.T.



A9 :=500
A14 :=20
A16 :=50
A20 :=40
AMBU21 :=0
A24 :=60
A25 :=100
A26 :=80

dbselectarea("BITACORA")

COUNT TO AMBU21 FOR BITACORA->UNIDAD ="A-21"




@00,24.61 GRAPH oGraph OF oWnd ;
SIZE 1085, 335;
TYPE 1;
YVALUES 3D XGRID YGRID LEGENDS



oGraph:aSeries = { { "A-09", CLR_CYAN },;
{ "A-14", CLR_YELLOW },;
{ "A-16", CLR_HRED },;
{ "A-20", CLR_BLUE },;
{ "A-21", CLR_HCYAN },;
{ "A-24", CLR_GREEN },;
{ "A-25", CLR_RED },;
{ "A-26", CLR_HBLUE } }



oGraph:aData = { {A9},{A14},{A16},{A20},{AMBU21},{A24},{A25},{A26} }






oGraph:l3D := .T.
oGraph:lPopUp := .T.
oGraph:lLegends:= .T.
oGraph:lSelView:= .T.
oGraph:cPicture:="9999999999"
oGraph:nBarSep:=05
oGraph:cTitle:= "SERVICIOS POR UNIDAD"
oGraph:lcTitle:= .T.
oGraph:lViewVal:= .T.
oGraph:cBitmap := "brush.bmp"
oGraph:nClrX = CLR_GREEN
oGraph:nClrY = CLR_RED



// oGraph:Refresh(.T.)
SetParent( oGraph:hWnd, oWnd:hWnd )


@ 336,195 SPLITTER oHSpl1 HORIZONTAL _3DLOOK PREVIOUS CONTROLS oOutLook2003 ;
HINDS CONTROLS oWnd:oWndClient ;
SIZE 1200, 4 PIXEL ;

TOP MARGIN 100 OF oWnd COLOR nRgb(25,25,112)
oHSpl1:lStatic:=.T.

@ 600,195 SPLITTER oHSplll HORIZONTAL _3DLOOK SIZE 1200, 4 PIXEL ;
TOP MARGIN 100 OF oWnd COLOR nRgb(25,25,112)
oHSpl1:lStatic:=.T.

@ 336,713 SPLITTER oVSpl1;
VERTICAL ;
PREVIOUS CONTROLS oOut ;
LEFT MARGIN 70 ;
RIGHT MARGIN 202 ;
SIZE 4, 846 PIXEL ;
OF oWnd ;
_3DLOOK ;
COLOR nRgb(25,25,112) ;
UPDATE
oVSpl1:lStatic:=.T.


SetParent( oSplit:hWnd, oWnd:hWnd )
SetParent( oHSpl1:hWnd, oWnd:hWnd )
SetParent( oHSplll:hWnd, oWnd:hWnd )
SetParent( oVSpl1:hWnd, oWnd:hWnd )









ACTIVATE WINDOW oWnd MAXIMIZED ON PAINT oGraph:Refresh(.f.) ON RESIZE oSplit:Adjust()


MsgInfo( "sale correctamente" )


oGraph:END()
resallfree() //por si quedan recursos en memoria....
memory(-1)
PostQuitMessage( 0 )
return nil
//----------------------------------------------------------------------------//

function BuildMenu()

local oMenu

MENU oMenu 2007
MENUITEM "&Salir" ACTION SALIR()
MENUITEM "&Acerca de..."

ENDMENU




return oMenu

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


//----------------------------------------------------------------------------//
FUNCTION salir()

SET RESOURCES TO
DBCLOSEALL()

CLOS ALL
resallfree() //por si quedan recursos en memoria....
memory(-1)
PostQuitMessage( 0 )
CLEAR MEMORY

//oWnd:End()


RETURN NIL
//------------------------------------------------------------------------------//
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Re: AQUI ESTA

Post by mmercado »

Hola Aída:

Prueba con tu función salir de la siguiente manera:

Code: Select all

//----------------------------------------------------------------------------// 
FUNCTION salir() 

oWnd:End()
SET RESOURCES TO 
DBCLOSEALL() 
resallfree() //por si quedan recursos en memoria.... 
memory(-1) 

RETURN NIL 
Espero te funcione.

Saludos.

Manuel Mercado
User avatar
mmercado
Posts: 782
Joined: Wed Dec 19, 2007 7:50 am
Location: Salamanca, Gto., México

Post by mmercado »

Se me pasaba:

Quita todas las instrucciones que están después de ACTIVATE WINDOW y antes de return nil

Otro saludo

Manuel Mercado
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

NOP

Post by AIDA »

No funciona ya hise todo lo que me dijeron y sigue igual :cry:

si quito el oWnd:End() si cierra pero tengo que dar dos clicks en el menu para salir

si dejo oWnd:End() se sale con un click pero se queda ejecutado en la memoria :shock:

en fin a la mejor al ratin sale por ahi el por que, mientras me pondre hacer lo demas del programa o me quedare añitos con esto :lol:

Gracias a todos por su ayuda :D

Aida :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
ADBLANCO
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Post by ADBLANCO »

PRIMERO QUE NADA:

TODO LO QUE TIENES EN LA FUNCION SALIR DEBERIA ESTAR DESPUES
DEL ACTIVATE ASI:

ACTIVATE ownd

SET RESOURCES TO
DBCLOSEALL()

CLOS ALL
resallfree() //por si quedan recursos en memoria....
memory(-1)
PostQuitMessage( 0 )
CLEAR MEMORY

=========
y el boton de salir debe limitarse a oWnd:End()


ESPERO QUE ESTO ARREGLE TU 'DETALLITO'


RETURN NIL
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Pues no

Post by AIDA »

Pues no tampoco funciono :evil:
una cosa tan sencillita y no queda buaaaa :cry:

realmete un caso para la araña :?:


Aida :cry:
Last edited by AIDA on Fri Apr 18, 2008 3:59 pm, edited 1 time in total.
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Yaaa!!!!

Post by AIDA »

Como de costumbre la arenita en el ojo es lo mas dificil de encontrar y no deja ver.

ya quedo solo era poner VALID lExit := .T.

ACTIVATE WINDOW oWnd MAXIMIZED ON PAINT oGraph:Refresh(.f.) ON RESIZE oSplit:Adjust() VALID lExit := .T. :shock:

muchos comandos de salida y solo era poner VALID lExit := .T.
:P


Pero gracias a todos los que pasaron sus tips los usare segura que me seran muy utiles :)

MUCHAS GRACIAS A TODOSSS :D

Aida :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
ADBLANCO
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Post by ADBLANCO »

ME ALEGRA QUE HAYAS ENCONTRADO EL 'DETALLITO'
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Post Reply