StrataFrame Forum

Strataflix demo error

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

By Mike Tomlin - 2/10/2009

A small error on the latest version. When in the Movies Database Maintenance form if you click the Print Movie Profile it bombs out with an error.

System.NullReferenceException was unhandled by user code
  Message="Object reference not set to an instance of an object."
  Source="MicroFour StrataFrame Business"
  StackTrace:
       at MicroFour.StrataFrame.Business.BusinessBindingSource.BusinessObject_InternalAfterAddNew(EventArgs e)
       at MicroFour.StrataFrame.Business.BusinessLayer.raise_AfterAddNew(EventArgs e)
       at MicroFour.StrataFrame.Business.BusinessLayer.OnAfterAddNew(EventArgs e)
       at MicroFour.StrataFrame.Business.BusinessLayer.NewRow()
       at StrataFlix.Reporting.Reports.MovieProfile.MovieProfileDataSource.PopulateDefinedDataSource(Int32 moviePk, Boolean includeMovieRecord) in C:\Program Files\MicroFour\StrataFlix\VB.NET\StrataFlix.Reporting\Reports\Movie Profile Report\MovieProfileDataSource.vb:line 70
       at StrataFlix.MovieMaintenance.action_PrintProfile_Click() in C:\Program Files\MicroFour\StrataFlix\VB.NET\StrataFlix\Dialogs\Maintenance\Movie Maintenance\MovieMaintenance.vb:line 39
       at StrataFlix.UI.Windows.Forms.ActionLinkMenuItem.raise_Click() in C:\Program Files\MicroFour\StrataFlix\VB.NET\StrataFlix.UI\Items and Collections\ActionLinkMenuItem.vb:line 61
       at StrataFlix.UI.Windows.Forms.ActionLinkMenuItem.OnClick() in C:\Program Files\MicroFour\StrataFlix\VB.NET\StrataFlix.UI\Items and Collections\ActionLinkMenuItem.vb:line 106
       at StrataFlix.FlixMain.tlmActions_ItemClicked(Object sender, ThemedLinkMenuClickEventArgs e) in C:\Program Files\MicroFour\StrataFlix\VB.NET\StrataFlix\FlixMain.vb:line 16
       at MicroFour.StrataFrame.UI.Windows.Forms.ThemedLinkMenu.InvokeItemClicked(Object sender, ThemedLinkMenuClickEventArgs e)
       at MicroFour.StrataFrame.UI.Windows.Forms.ThemedLinkMenu.OnItemClicked(Object sender, ThemedLinkMenuClickEventArgs e)
       at MicroFour.StrataFrame.UI.Windows.Forms.ThemedLinkMenu.HandleMouseUp(MouseEventArgs e, ThemedLinkMenuItemCollection Items)
       at MicroFour.StrataFrame.UI.Windows.Forms.ThemedLinkMenu.ThemedLinkMenu_MouseUp(Object sender, MouseEventArgs e)
       at System.Windows.Forms.Control.OnMouseUp(MouseEventArgs e)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.ContainerControl.WndProc(Message& m)
       at System.Windows.Forms.UserControl.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativewindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativewindow.WndProc(Message& m)
       at System.Windows.Forms.Nativewindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  InnerException:

By Edhy Rijo - 2/10/2009

Hi Mike,

Make sure you have the latest StrataFlix source code here http://forum.strataframe.net/FindPost21599.aspx

I tested it and does not have the error you reported.

By Mike Tomlin - 2/10/2009

Odd, I made sure I had the latest version and tried it on my second machine - same error.
By Edhy Rijo - 2/11/2009

Humm, one question, before unzipping the source, did you detach the StrataFilx database to allow the one in the update to be unzipped?
By Mike Tomlin - 2/11/2009

That's a good point. I've just tried that but no joy.
By Trent L. Taylor - 2/11/2009

When you refer to latest version, are you getting the most recent version from here: http://forum.strataframe.net/FindPost21599.aspx .  Also, if you did, you will need to be on the most recetn beta as well.
By Mike Tomlin - 2/11/2009

Hi Trent, yes to both of those. The project builds and runs fine it's just this one issue I've come across.
By Trent L. Taylor - 2/11/2009

Mike, the good news is that I have loaded this on several fresh machines (Virtual machines and a new laptop) and it is working properly.  However, if you look at the line of code it is failing on, it is in the reporting assembly in the MoveiProfileDataSource class on line 70.  Put a breakpoint there and see what is giving the NULL reference.  I imagine that it has something to do with the default values or something along those lines.  If you do this then it will at least give us a clue as to what is going on within your environment.
By Mike Tomlin - 2/11/2009

I'm not up to speed enough on .Net to work this one out on my own - the error is around the creating of a blank image record -is the movie images table expecting some data in a new row that isn't null, as this seems to be creating a new row but not assigning any data to it?

            '-- If an image wasn't return, create an image record within the report data sources
            '   so one will print.
            If Me.DataSource.SourceBO.MovieImages.SourceBO.Count = 0 Then
                Me.DataSource.SourceBO.MovieImages.SourceBO.ParentBusinessObject = Me.DataSource.SourceBO
                Me.DataSource.SourceBO.MovieImages.SourceBO.NewRow()
                Me.DataSource.SourceBO.MovieImages.SourceBO.CurrentDataTable.AcceptChanges()

By Trent L. Taylor - 2/12/2009

The code is creating an image row to the BO (and not updating the server) if an image has not been assigned to the movie. This way the default image will be shown on the report.  So either the resource has been removed or you have some versions out of sync.  This particular code actually has nothing to do with any data going back to the server. A row is added and then the changes are accepted so that the server is not updated.  So this is all happening client side.