I have a business object (CustomerBO) that I’ve configured to raise a single property changed event for all properties. I’ve placed this BO on a SF maintenance form. The maintenance form also includes a ChildFormDialog that maps CustomerBO to the dialog form. If I add the FieldPropertyChanged event handler to the maintenance form code, I get an invalid operation exception (see attached) when I attempt to show the ChildFormDialog. If the FieldPropertyChanged event handler is not present on the maintenance form, the ChildFormDialog executes okay. The FieldPropertyChanged event handler doesn’t have to contain any code to cause the error.
-Larry
I downloaded and re-compiled the updated source and problem solved. Thanks for the quick fix. I’m glad you were able to reproduce this one. I still haven’t been able to get the database connection wizard to work without causing an application exception. Since you can’t reproduce it I’m feeling that I must have missed something in setting up security but can’t figure out what.
It looks like a new bug managed to slip into the 11/27/2006 source code. The problem does not appear when the same program code is run on the 11/20/2006 release version of the framework. The exception is raised when a user ID that does not exist in the security database is entered on the login screen (I'm using the standard SF login screen). If you continue after the exception is raised, a security event ID: Error message is displayed and if a valid user ID is entered, the login succeeds.
Here is the exception detail and a screenshot is attached.
MicroFour.StrataFrame.Business.BusinessLayerException was unhandled by user code Message="The CurrentRow could not be evaluated because the CurrentRowIndex is out of range. Business object record count: 0. CurrentRowIndex: -1." Source="MicroFour StrataFrame Business" StackTrace: at MicroFour.StrataFrame.Business.BusinessLayer.get_CurrentRow() at MicroFour.StrataFrame.Security.BusinessObjects.SFSUsersBO.CreateInternalData() at MicroFour.StrataFrame.Security.BusinessObjects.SFSUsersBO.IsDataValid()