StrataFrame Forum

Strataframe and Report SharpShooter

http://forum.strataframe.net/Topic16979.aspx

By Marcel Heitlager - 6/10/2008

I added the following code to my app based on a suggestion by one of the forum members because of an issue with Perpetuum and Strataframe:

Public Class TransactionReport

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim CardType As String = Me.SetCardType()

If ValidateCardTypes() Then

Me.CreditCardTransReportBBS.FillByDate(Me.dtTransDateFilter.Value, CardType, Me.SchoolPCCDefaultsBO1.School_key)

If Me.CreditCardTransReportBBS.BusinessObject.Count > 0 Then

MsgBox("Prepare")

TransReport.Prepare()

MsgBox("End Prepare")

Else

With InfoBox.NotifyBoxSettings

.SpecialEffect = InfoBoxSpecialEffect.Fade

.Sound = MessagingSounds.Notify

End With

InfoBox.NotifyBox("No Records", "There are no " + CardType + " transactions " _

& " on " + Me.dtTransDateFilter.Value.ToShortDateString.ToString + " " _

& "for " + Trim(Me.SchoolPCCDefaultsBO1.School_name) + ".")

End If

End If

End Sub

Private Sub TransReport_RenderCompleted(ByVal sender As Object, ByVal e As System.EventArgs) Handles TransReport.RenderCompleted

MsgBox("TransREport_rendercompleted")

Dim NewThread As Thread = New Thread(New ThreadStart(AddressOf GenReport))

NewThread.SetApartmentState(ApartmentState.STA)

NewThread.Start()

End Sub

Sub GenReport()

MsgBox("GenReportStart")

Thread.Sleep(0)

Dim previewForm As PerpetuumSoft.Reporting.View.PreviewForm

previewForm = New PerpetuumSoft.Reporting.View.PreviewForm(TransReport)

previewForm.WindowState = FormWindowState.Maximized

'previewForm.ShowDialog(Me)

previewForm.ShowDialog()

MsgBox("PreviewForm.ShowDialog.Done")

If Not (previewForm Is Nothing) Then

previewForm.Dispose()

End If

End Sub

End class

When generating the report it shows the first prepare message and end prepare message.  But then nothing happens.  The program continues as if everything's fine.  It seems to never call the transreport_rendercompleted sub.  The Rendercompleted message should show up after end prepare message. BTW, it works fine on my XP development machine and I end up with a report.  I know this isn't your product but I you guys do have experience with it.  Do you know off hand what it might be, or should I just go to Perpetuum?

Thanks,

Marcel

 

By Ivan George Borges - 6/11/2008

Hi Marcel.

Just to check, have you deployed the Perpetuum DLLs? As you mentioned it works fine on your developing machine, I am assuming that the problem is at the client, is that right?

By Marcel Heitlager - 6/11/2008

Yes I think I added them all to the assemblies in InstallAware.

Perpetuum.Charts

Perpetuum.Framework.connectivity

Perpetuum.Framework.

Perpetuum.Framework.Export

Perpetuum.Framework.model

Perpetuum.instrumentation

Perpetuum.Reporting

Perpetuum.Writers.Flash

Perpetuum.Writers.Svg

I also tried creating a report without the thread code modification.  A blank report viewer screen pops up, but it never seems to get to the _RenderCompleted Event. It just stops, no errors, no blank report nothing.  THen when I close the screen it continues as before.  Could this have something to do with threading? I got a deadline for a demo, and I'm pulling my hair (singular since that's all that's left) out. I also put a message up at their site, yesterday, but haven't heard back yet.

Thanks,

Marcel

By Trent L. Taylor - 6/11/2008

Could this have something to do with threading?

I would definitely say that this seems suspect and I would tend to lean this way.  When dealing with threading and events, you have to be careful not to produce a cross thread violation or work outside of the delegates, otherwise you can have things like this pop up.

We work in Report Sharp-Shooter every day and it has been working wonderfully, but this is something that we implemented at the base level and so my head is not in it right now.  But I will confirm that this sounds to be more of a threading issue than anything else.

If I recall, we creating a custom class that inherits one of the ReportShooter classes to present custom dialogs (render, etc.) as we did not really like the defaults...and I have issues when things don't match BigGrin

If you strip some of the threading and work at it from that approach and don't get anywhere, let me know and I will try to help you dig into a little more.  Sorry if I wasn't much help.

I also put a message up at their site, yesterday, but haven't heard back yet.

I always have to remind myself that they are on the other side of the world.  So it generally takes 24-36 hours for me to get a response. Smile