Hola a todos los del foro
quiero comentarles el siguiente dilema que tengo !!
tengo un programa que uso con menus
cuando ejecuto un form1 lo hacia de la siguiente manera:
Código Delphi
[-]
Form1:=TForm1.Create(self);
try
Form1.ShowModal;
finally
Form1.Free;
end;
aqui filtro información para extraer información de una base de datos
y lo mando a crystal report y bien lo hacia muy bien sin problema
si cierro el reporte y vuelvo a ejecutar el filtro
me mandaba un error de Access violatioin 0000000f5
aqui en el foro me comentaron ponlo de la siguiente manera :
Código Delphi
[-]
with TForm1.Create(nil) do
try
Showmodal
Finally
Free
end
y listo , ejecuto el form y lo hace , cierro el reporte y vuelvo ajecutar
y ya no me mando error, ingreso datos en los edit para filtrar mi información
y a la hora de aceptar para que ejecute el programa , me manda el
mensaje de error que :
el Reporte.rpt no puede conectar la base de datos
cierro el form y lo vuelvo abrir, ingreso datos y ya no me marca el error
y saca el reporte
volvi a hacerle el siguiente cambio :
Código Delphi
[-]
Form1:=TForm1.Create(nil);
try
Form1.ShowModal;
finally
end;
nada mas que aqui omito el Form1.free
y ejecuto el form saco el primer reporte , cierro reporte y vuelvo ajecutar
y vuelve a salir el reporte y con esta opción no me marca ningun tipo de
Error,
mi Pregunta es la siguiente:
si no destruyo la contrucción que problema me puede acarrear
o puedo cambirar el Self, Nil por alguna otra que cuando le diga Form1.Free
y vuelva a ejecutar mi form1 no me marque ningun problema ??
Espero sus comentarios porque me marca esos error y porque
al no ejecutar el Form1.free me deja trabajar sin problema
Gracias por su tiempo