Ver Mensaje Individual
  #1  
Antiguo 31-01-2008
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Reputación: 19
pmtzg Va por buen camino
Pregunta ? Create !!

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
    //Form1.Free;
  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
Responder Con Cita