Delphi - DESBORDE D MEMORIA AL CERRAR MI APLICACION

 
Vista:

DESBORDE D MEMORIA AL CERRAR MI APLICACION

Publicado por PALEO (12 intervenciones) el 06/11/2006 18:56:51
HOLA NUEVO, TENO UN PROBLEMA, TENGO UN SISTEMA HECHO EN DELPHI 6, NADAMAS Q AL MOMENTO DE SALIRME DE LA APLICACION, ME MARCA UN ERROR DE MEMORIA, COMO SI FUER UN DESBORDE DE MEMORIA ALO ASI DE Q UNA DIRECCION INCORRECTA, Y OCURRE UNICAMENTE CUANDO CIERRO EL PRORAMA. ¿Q PUEDO HACER?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DESBORDE D MEMORIA AL CERRAR MI APLICACION

Publicado por M@rceloL (213 intervenciones) el 06/11/2006 21:35:38
Para mí que es algún código que se ejecuta al cerrar. Deberías fijarte qué hace exactamente al cerrar.

Cosas que deberías buscar son Destroy, Free o FreeAndNil, esas cosas de destrucción de objetos. Una llamada a Dispose también puede ser la culpable.

Si las unidades tienen una cláusula "finalize", fijate qué es lo que hacen, porque se ejecutan al cerrar.

Espero te sirva de algo. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DESBORDE D MEMORIA AL CERRAR MI APLICACION

Publicado por PALEO (12 intervenciones) el 07/11/2006 02:22:57
Hola amigo, muchas gracias por tu atencion, mira en el OnClick del botón que uso para finalizar mi aplicación tengo:

Application.Terminate;

Creo que el problema es porque se me ocurrio ponerle una ventana Splash a mi programilla el codigo principal es algo así:

program CFEFilter;

uses
Forms,
frmdm in 'frmdm.pas' {dm: TDataModule},
Unit1 in 'Unit1.pas' {frmimporter},
Unit2 in 'Unit2.pas' {frmvis_rpusuarios},
Unit3 in 'Unit3.pas' {frmvis_rpven},
Unit4 in 'Unit4.pas' {frmmenup},
Unit6 in 'Unit6.pas' {frmpresentacion},
Unit7 in 'Unit7.pas' {fmrinfusage},
Unit8 in 'Unit8.pas' {frminfuspoblacion},
Unit9 in 'Unit9.pas' {frminfustarifa},
Unit11 in 'Unit11.pas' {frmgrafica},
Unit12 in 'Unit12.pas' {frmacercade},
Unit13 in 'Unit13.pas' {frmeliminar},
vntUnit5 in 'vntUnit5.pas' {frmvntage},
vntpobUnit5 in 'vntpobUnit5.pas' {frmvntpoblacion},
vnttarUnit5 in 'vnttarUnit5.pas' {frmvnttarifa},
presentacion3Unit5 in 'presentacion3Unit5.pas' {frmpresentacion3},
presentacion4Unit5 in 'presentacion4Unit5.pas' {frmpresentacion4},
Unit10 in 'Unit10.pas' {frmpresentacion2},
ufrmenviar in 'ufrmenviar.pas' {frmenviar},
ufrmzonas in 'ufrmzonas.pas' {frmzonas},
ufrmagregaragencia in 'ufrmagregaragencia.pas' {frmagregaragencia},
ufrmconsultaragencia in 'ufrmconsultaragencia.pas' {frmconsultaragencia},
SplashScreen in 'SplashScreen.pas' {frmsplash},
ufrmgrafica2 in 'ufrmgrafica2.pas' {frmgrafica2},
ufrmhelpagencias in 'ufrmhelpagencias.pas' {frmHelpAgencias},
ufrmHelpTarifas in 'ufrmHelpTarifas.pas' {frmHelpTar};

{$R *.res}

begin
//MUESTRA LA PANTALLA DE SPLASH
frmsplash := Tfrmsplash.Create(Application);
frmsplash.Show;
frmsplash.Update;

Application.Initialize;

Application.CreateForm(Tfrmmenup, frmmenup);
Application.CreateForm(Tdm, dm);
Application.CreateForm(Tfrmgrafica2, frmgrafica2);
//OCULTA LA PANTALLA DE SPLASH
frmsplash.delay(1200);
frmsplash.Hide;
frmsplash.Free; <---Por lo q me dices parece q el problema esta aki, pero lo q hice fue cancelar la linea frmsplash.Update y a veces sale el error y a veces no

Application.CreateForm(Tfrmmenup, frmmenup);
Application.CreateForm(Tdm, dm);
Application.CreateForm(Tfrmimporter, frmimporter);
Application.CreateForm(Tfrmvis_rpusuarios, frmvis_rpusuarios);
Application.CreateForm(Tfrmvis_rpven, frmvis_rpven);
Application.CreateForm(Tfrmpresentacion, frmpresentacion);
Application.CreateForm(Tfmrinfusage, fmrinfusage);
Application.CreateForm(Tfrminfuspoblacion, frminfuspoblacion);
Application.CreateForm(Tfrmconsultaragencia, frmconsultaragencia);
.
.
.
Application.Run;
end.

El error es:

Exception EAccesViolation in Module ******.exe at 00218EC.
Acces Violation at adress 004218EC in module '*****.exe'. Write of adress00D11E69

Muchas Gracias por tu atención amigo, a ver q podemos solucionar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DESBORDE D MEMORIA AL CERRAR MI APLICACION

Publicado por M@rceloL (9 intervenciones) el 14/11/2006 18:10:54
Hmm... raro. ¿No probaste sin el frmsplash.free? Dejaría la forma en memoria, claro, pero ayudaría para saber si es por eso.

El update no puede ser el problema. Vas a tener que seguir investigando, algo tiene que ser. La pantalla CPU puede darte una idea, si sabés lo que dice, porque complidada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar