Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2004
Igna Igna is offline
Miembro
 
Registrado: jun 2003
Posts: 27
Poder: 0
Igna Va por buen camino
Generar varios Reports

Hola.

Tengo una aplicación en la que, en un momento dado, lee datos de una tabla, y, dependiendo de esos datos, crea un nuevo form, y (dependiendo de otros campos) un nuevo informe (hecho con QuickReport).

El código sería más o menos:

Código:
 With Query 1 do
  begin
   first;
   While not(eof) do
    begin
     if fields[1].AsInteger=1 then
      try
       application.createform(tform1, form1);
       form1.showmodal;
      finally
       form1.release;
      end
     if fields[2].AsInteger=1 then
      try
       application.createform(Tform2, form2);
       form2.quickrep1.preview;
      finally
       form2.release;
      end;
     Next;
    end;
  end;
El problema viene cuando dos registros cumplen las condiciones para que se cree el form1 y el form2 (con el quickrep1). La pantalla muestra un error del tipo "Acces violation at address.....", incluso hay veces que me da un error del tipo "invalid floating point operator". He intentado quitando los bloques try (aunque no tuviera mucho sentido, estaba un poco desesperado), pero nada, sigue igual.

El caso es que hay veces que, aunque salga el error, la ejecución del programa no se interrumpe, y saca los dos Reports (con el único fastidio de que el usuario vea cada vez el error).

Creo que el problema viene a la hora de generar el segundo report, ya que quitando esa parte de código, me funciona sin problemas.

Agradecería una pequeña ayuda(hombre, si es grande, mejor).

Un saludo.
Responder Con Cita
  #2  
Antiguo 15-07-2004
Igna Igna is offline
Miembro
 
Registrado: jun 2003
Posts: 27
Poder: 0
Igna Va por buen camino
Vale, cada día estoy peor.

No había visto este mensaje que es más o menos lo que me sucede a mi:

mensaje

Con la solución que da marcoszorilla (por cierto, gracias), se arregla el problema, por lo menos el mío. Simplemente añadiendo Application.ProcessMessages antes de liberar el form.

Gracias de nuevo, y perdón por repetir post (había hecho la busqueda sobre el error "invalid floating ...." y no encontré ese mensaje).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:15:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi