Report que me "paraliza" la aplicacion

23/06/2009 - 08:55 por Xuri | Informe spam
Hola chicos, queria comentaros una cosilla que me pasa a ver si alguien tiene
idea.

Utilizo para los informes el REPORT MANAGER ( OPENSOURCE ) y para ello uso
un activex que incluye. El caso es que cuando se abre el informe, no me deja
seguir con la aplicacion hasta que cierro el INFORME. He intentado hacer
multihilo pero nada, alomejor no lo hago bien.

Podeis darme una mano? Es porque es un activex y hasta que no se cierra no
puede seguir? porque es?


Reportman.ReportManX rp = new ReportManX();
rp.Title = "Informes";
rp.Language = 1;
rp.ShowProgress = true;
rp.filename = inicio_sistema.ruta_informes + informe;

Environment.CurrentDirectory = inicio_sistema.ruta_aplicacion;
rp.Preview = Previsualitzar;
rp.ShowProgress = true;
rp.ShowPrintDialog = false;
rp.AsyncExecution = true;

rp.Execute();


MessageBox.Show("ESTO NO SE IMPRIME HASTA QUE CIERRO EL INFORME.");



el tema es que quiero poder abrir mas de un informe y claro, si me deja la
aplicacion desactivada, no puedo seguir hasta que lo cierro.

Muchisimas gracias por la atencion

Preguntas similare

Leer las respuestas

#1 Angel J. Hernández M.
23/06/2009 - 09:07 | Informe spam
Hola,

Es díficil decir, pues quizás la librería no está diseñada para soportar
multi-hilos

Saludos,


Angel J. Hernández M
MCP,MCAD,MCSD,MCDBA
Microsoft MVP
http://msmvps.com/blogs/angelhernandez
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
http://www.customware.net
Tecnical Solutions Architect


"Xuri" wrote in message
news:
Hola chicos, queria comentaros una cosilla que me pasa a ver si alguien
tiene
idea.

Utilizo para los informes el REPORT MANAGER ( OPENSOURCE ) y para ello
uso
un activex que incluye. El caso es que cuando se abre el informe, no me
deja
seguir con la aplicacion hasta que cierro el INFORME. He intentado hacer
multihilo pero nada, alomejor no lo hago bien.

Podeis darme una mano? Es porque es un activex y hasta que no se cierra no
puede seguir? porque es?


Reportman.ReportManX rp = new ReportManX();
rp.Title = "Informes";
rp.Language = 1;
rp.ShowProgress = true;
rp.filename = inicio_sistema.ruta_informes + informe;

Environment.CurrentDirectory = inicio_sistema.ruta_aplicacion;
rp.Preview = Previsualitzar;
rp.ShowProgress = true;
rp.ShowPrintDialog = false;
rp.AsyncExecution = true;

rp.Execute();


MessageBox.Show("ESTO NO SE IMPRIME HASTA QUE CIERRO EL INFORME.");



el tema es que quiero poder abrir mas de un informe y claro, si me deja la
aplicacion desactivada, no puedo seguir hasta que lo cierro.

Muchisimas gracias por la atencion

Respuesta Responder a este mensaje
#2 Xuri
23/06/2009 - 09:26 | Informe spam
Habia pensado la opcion de crear una aplicacion aparte, y que esa aplicacion
abra solo los informes, algo asi como "informes.exe informe.rep parametros"

pero claro, es una "chapuza" y buscaba algo mas correcto.

Se os ocurre alguna otra solucion?

Gracias.

"Angel J. Hernández M." wrote:

Hola,

Es díficil decir, pues quizás la librería no está diseñada para soportar
multi-hilos

Saludos,


Angel J. Hernández M
MCP,MCAD,MCSD,MCDBA
Microsoft MVP
http://msmvps.com/blogs/angelhernandez
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
http://www.customware.net
Tecnical Solutions Architect


"Xuri" wrote in message
news:
> Hola chicos, queria comentaros una cosilla que me pasa a ver si alguien
> tiene
> idea.
>
> Utilizo para los informes el REPORT MANAGER ( OPENSOURCE ) y para ello
> uso
> un activex que incluye. El caso es que cuando se abre el informe, no me
> deja
> seguir con la aplicacion hasta que cierro el INFORME. He intentado hacer
> multihilo pero nada, alomejor no lo hago bien.
>
> Podeis darme una mano? Es porque es un activex y hasta que no se cierra no
> puede seguir? porque es?
>
>
> Reportman.ReportManX rp = new ReportManX();
> rp.Title = "Informes";
> rp.Language = 1;
> rp.ShowProgress = true;
> rp.filename = inicio_sistema.ruta_informes + informe;
>
> Environment.CurrentDirectory = inicio_sistema.ruta_aplicacion;
> rp.Preview = Previsualitzar;
> rp.ShowProgress = true;
> rp.ShowPrintDialog = false;
> rp.AsyncExecution = true;
>
> rp.Execute();
>
>
> MessageBox.Show("ESTO NO SE IMPRIME HASTA QUE CIERRO EL INFORME.");
>
>
>
> el tema es que quiero poder abrir mas de un informe y claro, si me deja la
> aplicacion desactivada, no puedo seguir hasta que lo cierro.
>
> Muchisimas gracias por la atencion
>
Respuesta Responder a este mensaje
#3 Sashka
23/06/2009 - 16:32 | Informe spam
No conozco el componente, pero tengo la impresión de que debe tener una
propiedad "modal", lo que explicas indica que el reporte se está imprimiendo
en una ventana modal...

Sashka

"Xuri" escribió en el mensaje de
noticias:
Hola chicos, queria comentaros una cosilla que me pasa a ver si alguien
tiene
idea.

Utilizo para los informes el REPORT MANAGER ( OPENSOURCE ) y para ello
uso
un activex que incluye. El caso es que cuando se abre el informe, no me
deja
seguir con la aplicacion hasta que cierro el INFORME. He intentado hacer
multihilo pero nada, alomejor no lo hago bien.

Podeis darme una mano? Es porque es un activex y hasta que no se cierra no
puede seguir? porque es?


Reportman.ReportManX rp = new ReportManX();
rp.Title = "Informes";
rp.Language = 1;
rp.ShowProgress = true;
rp.filename = inicio_sistema.ruta_informes + informe;

Environment.CurrentDirectory = inicio_sistema.ruta_aplicacion;
rp.Preview = Previsualitzar;
rp.ShowProgress = true;
rp.ShowPrintDialog = false;
rp.AsyncExecution = true;

rp.Execute();


MessageBox.Show("ESTO NO SE IMPRIME HASTA QUE CIERRO EL INFORME.");



el tema es que quiero poder abrir mas de un informe y claro, si me deja la
aplicacion desactivada, no puedo seguir hasta que lo cierro.

Muchisimas gracias por la atencion

Respuesta Responder a este mensaje
#4 Xuri
23/06/2009 - 18:08 | Informe spam
pues no tiene ningun parametro para poner modal o no ni llamar al metodo de
una forma u otra.

Si abro la aplicacion dos veces puedo abrir un informe en cada una de las
aplicaciones, pero en la misma no, otra solucion???

Me han dado esta opcion:

ThreadPool.QueueUserWorkItem(delegate(object o){ rp.Execute(); });

pero no me ha funcionado.. alguna idea mas?

"Sashka" wrote:

No conozco el componente, pero tengo la impresión de que debe tener una
propiedad "modal", lo que explicas indica que el reporte se está imprimiendo
en una ventana modal...

Sashka

"Xuri" escribió en el mensaje de
noticias:
> Hola chicos, queria comentaros una cosilla que me pasa a ver si alguien
> tiene
> idea.
>
> Utilizo para los informes el REPORT MANAGER ( OPENSOURCE ) y para ello
> uso
> un activex que incluye. El caso es que cuando se abre el informe, no me
> deja
> seguir con la aplicacion hasta que cierro el INFORME. He intentado hacer
> multihilo pero nada, alomejor no lo hago bien.
>
> Podeis darme una mano? Es porque es un activex y hasta que no se cierra no
> puede seguir? porque es?
>
>
> Reportman.ReportManX rp = new ReportManX();
> rp.Title = "Informes";
> rp.Language = 1;
> rp.ShowProgress = true;
> rp.filename = inicio_sistema.ruta_informes + informe;
>
> Environment.CurrentDirectory = inicio_sistema.ruta_aplicacion;
> rp.Preview = Previsualitzar;
> rp.ShowProgress = true;
> rp.ShowPrintDialog = false;
> rp.AsyncExecution = true;
>
> rp.Execute();
>
>
> MessageBox.Show("ESTO NO SE IMPRIME HASTA QUE CIERRO EL INFORME.");
>
>
>
> el tema es que quiero poder abrir mas de un informe y claro, si me deja la
> aplicacion desactivada, no puedo seguir hasta que lo cierro.
>
> Muchisimas gracias por la atencion
>
Respuesta Responder a este mensaje
#5 Sashka
23/06/2009 - 18:51 | Informe spam
Éste es un mensaje de varias partes en formato MIME.
=_NextPart_000_005E_01C9F3F8.EE821030

Pues aquà­ està¡...
http://reportman.sourceforge.net/docnet/index.html

Reportman.Drawing.Form
PreviewWinForms Class
PreviewWinForms Members
Public Instance Properties > modal

Sashka

"Xuri" escribió en el mensaje de noticias:
pues no tiene ningun parametro para poner modal o no ni llamar al metodo de
una forma u otra.

Si abro la aplicacion dos veces puedo abrir un informe en cada una de las
aplicaciones, pero en la misma no, otra solucion???

Me han dado esta opcion:

ThreadPool.QueueUserWorkItem(delegate(object o){ rp.Execute(); });

pero no me ha funcionado.. alguna idea mas?

"Sashka" wrote:

No conozco el componente, pero tengo la impresión de que debe tener una
propiedad "modal", lo que explicas indica que el reporte se està¡ imprimiendo
en una ventana modal...

Sashka

"Xuri" escribió en el mensaje de
noticias:
> Hola chicos, queria comentaros una cosilla que me pasa a ver si alguien
> tiene
> idea.
>
> Utilizo para los informes el REPORT MANAGER ( OPENSOURCE ) y para ello
> uso
> un activex que incluye. El caso es que cuando se abre el informe, no me
> deja
> seguir con la aplicacion hasta que cierro el INFORME. He intentado hacer
> multihilo pero nada, alomejor no lo hago bien.
>
> Podeis darme una mano? Es porque es un activex y hasta que no se cierra no
> puede seguir? porque es?
>
>
> Reportman.ReportManX rp = new ReportManX();
> rp.Title = "Informes";
> rp.Language = 1;
> rp.ShowProgress = true;
> rp.filename = inicio_sistema.ruta_informes + informe;
>
> Environment.CurrentDirectory = inicio_sistema.ruta_aplicacion;
> rp.Preview = Previsualitzar;
> rp.ShowProgress = true;
> rp.ShowPrintDialog = false;
> rp.AsyncExecution = true;
>
> rp.Execute();
>
>
> MessageBox.Show("ESTO NO SE IMPRIME HASTA QUE CIERRO EL INFORME.");
>
>
>
> el tema es que quiero poder abrir mas de un informe y claro, si me deja la
> aplicacion desactivada, no puedo seguir hasta que lo cierro.
>
> Muchisimas gracias por la atencion
>




=_NextPart_000_005E_01C9F3F8.EE821030

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=unicode" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18783"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px"
id=MailContainerBody leftMargin=0 topMargin=0 bgColor=#ffffff
CanvasTabStop="true" name="Compose message area">
<DIV>Pues aquà­ està¡...<BR><A
title="http://reportman.sourceforge.net/do...p;#10;CTRL + clic para seguir el và­nculo"
href="http://reportman.sourceforge.net/do...t;>http://reportman.sourceforge.net/docnet/index.html</A><BR><BR>Reportman.Drawing.Form<BR>&nbsp;&nbsp;&nbsp;
PreviewWinForms Class<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
PreviewWinForms
Members<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Public Instance Properties &gt; modal</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>Sashka</FONT><BR><BR>"Xuri"
&lt;&gt; escribió en el mensaje de
noticias:<BR>&gt; pues no
tiene ningun parametro para poner modal o no ni llamar al metodo de <BR>&gt; una
forma u otra.<BR>&gt; <BR>&gt; Si abro la aplicacion dos veces puedo abrir un
informe en cada una de las <BR>&gt; aplicaciones, pero en la misma no, otra
solucion???<BR>&gt; <BR>&gt; Me han dado esta opcion: <BR>&gt; <BR>&gt;
ThreadPool.QueueUserWorkItem(delegate(object o){ rp.Execute(); });<BR>&gt;
<BR>&gt; pero no me ha funcionado.. alguna idea mas?<BR>&gt; <BR>&gt; "Sashka"
wrote:<BR>&gt; <BR>&gt;&gt; No conozco el componente, pero tengo la impresión de
que debe tener una <BR>&gt;&gt; propiedad "modal", lo que explicas indica que el
reporte se està¡ imprimiendo <BR>&gt;&gt; en una ventana modal...<BR>&gt;&gt;
<BR>&gt;&gt; Sashka<BR>&gt;&gt; <BR>&gt;&gt; "Xuri"
&lt;&gt; escribió en el mensaje de <BR>&gt;&gt;
noticias:<BR>&gt;&gt; &gt;
Hola chicos, queria comentaros una cosilla que me pasa a ver si alguien
<BR>&gt;&gt; &gt; tiene<BR>&gt;&gt; &gt; idea.<BR>&gt;&gt; &gt;<BR>&gt;&gt; &gt;
Utilizo para los informes el REPORT MANAGER&nbsp; ( OPENSOURCE ) y para ello
<BR>&gt;&gt; &gt; uso<BR>&gt;&gt; &gt; un activex que incluye. El caso es que
cuando se abre el informe, no me <BR>&gt;&gt; &gt; deja<BR>&gt;&gt; &gt; seguir
con la aplicacion hasta que cierro el INFORME. He intentado hacer<BR>&gt;&gt;
&gt; multihilo pero nada, alomejor no lo hago bien.<BR>&gt;&gt; &gt;<BR>&gt;&gt;
&gt; Podeis darme una mano? Es porque es un activex y hasta que no se cierra
no<BR>&gt;&gt; &gt; puede seguir? porque es?<BR>&gt;&gt; &gt;<BR>&gt;&gt;
&gt;<BR>&gt;&gt; &gt; Reportman.ReportManX rp = new ReportManX();<BR>&gt;&gt;
&gt; rp.Title = "Informes";<BR>&gt;&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rp.Language = 1;<BR>&gt;&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rp.ShowProgress = true;<BR>&gt;&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rp.filename = inicio_sistema.ruta_informes + informe;<BR>&gt;&gt;
&gt;<BR>&gt;&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Environment.CurrentDirectory
= inicio_sistema.ruta_aplicacion;<BR>&gt;&gt; &gt; rp.Preview =
Previsualitzar;<BR>&gt;&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rp.ShowProgress = true;<BR>&gt;&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rp.ShowPrintDialog = false;<BR>&gt;&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rp.AsyncExecution = true;<BR>&gt;&gt; &gt;<BR>&gt;&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rp.Execute();<BR>&gt;&gt; &gt;<BR>&gt;&gt; &gt;<BR>&gt;&gt; &gt;&nbsp;
MessageBox.Show("ESTO NO SE IMPRIME HASTA QUE CIERRO EL INFORME.");<BR>&gt;&gt;
&gt;<BR>&gt;&gt; &gt;<BR>&gt;&gt; &gt;<BR>&gt;&gt; &gt; el tema es que quiero
poder abrir mas de un informe y claro, si me deja la<BR>&gt;&gt; &gt; aplicacion
desactivada, no puedo seguir hasta que lo cierro.<BR>&gt;&gt; &gt;<BR>&gt;&gt;
&gt; Muchisimas gracias por la atencion<BR>&gt;&gt; &gt;</DIV></BODY></HTML>

=_NextPart_000_005E_01C9F3F8.EE821030--
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida