Delphi - Visualizar reports de crystal

 
Vista:

Visualizar reports de crystal

Publicado por Santiago (4 intervenciones) el 01/04/2004 11:10:03
Muy buenas, vereis, tengo un problemilla, y es que, a la hora de lanzar un report de crystal 9 desde delphi 7, sale todo perfecto. Dicho report lo muestro en un formulario, pero cuando lo cierro y lo vuelvo a abrir me da error access violation.
he probado en el evento OnClose del formulario ponerle el CRViewer.free pero me da lo mismo.
¿Alguna idea?
Muchas gracias.
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:Visualizar reports de crystal

Publicado por Cuervo (262 intervenciones) el 01/04/2004 17:50:53
este error es porque los objetos se han destruido.
por ejemplo para crear un objeto y lanzarlo :
if not Assigned(FormReporte) then // si esta liberado de la memoria
else
FormReporte.show; // ya esta en memoria

// Y colocas en evento onclose
action:=cafree;
FormReporte:=nil;

Espero te haya servido.
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:Visualizar reports de crystal

Publicado por Santiago (4 intervenciones) el 01/04/2004 19:46:56
mmmm, me sale lo mismo.
Qué pongo en el if??
en el else he puesto eso, y en el if he puesto
ShowWindowModal(Self, TfrmReportel)
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:Visualizar reports de crystal

Publicado por Cuervo (262 intervenciones) el 01/04/2004 20:22:26
te pido perdon escribi mal el codigo.

//si haces la llamada desde otro form por ej:
procedure TForm1.Button1Click(Sender: TObject);
begin
if not Assigned(FormReporte) then
FormReporte:=tFormReporte.Create(Self);
else
FormReporte.show;
end;

y en el FrormReport, en el evento onclose debe quedar asi:
procedure tFormReport.Formclose(Sender: TObject ;var Action: TCloseAction);

begin
action:=cafree;
FormReport:=nil;

end;
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:Visualizar reports de crystal

Publicado por Santiago (4 intervenciones) el 02/04/2004 10:34:49
Lo siento pero me sigue sin funcionar. La llamada la hago así,

if not assigned(frmResumenAnual) then
frmResumenAnual := TfrmResumenAnual.Create(self)
else
frmResumenAnual.Show;

y en el formulario de Resumen Anual,

procedure TfrmResumenAnual.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
crResumenAnual.Free;
action:=cafree;
frmResumenAnual :=nil;
end;

la variable crResumenAnual es un CRViewer, el problema es que quiero poner un free.
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