Trent Taylor
|
|
Group: StrataFrame Developers
Posts: 6.6K,
Visits: 7K
|
Sorry for the delayed responses. We have not been in the office the last several days for personal reasons.
At any rate, I am doing a new build - 1.7.0.1. This will include these changes for you. I will post it in the My Account area as soon as it is ready.
|
|
|
Jeff Pagley
|
|
Group: StrataFrame Users
Posts: 223,
Visits: 893
|
Hi SF, What is the status to my last post? Thanks, Jeff
|
|
|
Jeff Pagley
|
|
Group: StrataFrame Users
Posts: 223,
Visits: 893
|
Hi SF Team, I understand where to make the change but I am running VS 2005 and the Microfour Strataframe.sln is not loading. I have loaded the Microfour Strataframe Inherited IU project and updated the DevExpress references to v9.1.5 and created the new DLL successfully. I tried loading the Microfour Strataframe Business project, but I get over 100 errors. I am not sure what to do now. What are the steps I need to take to implement this fix or will you post a new dll with this fix? Thanks, Jeff
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Hi Trent, I am happy to say that I made the changes posted before to the BusinessBindingSource, RemoveBOHandlers() and that fix the error or as you would say "Smoke it!!!!". WARNING.... I just tested it once
Edhy Rijo
|
|
|
Trent Taylor
|
|
Group: StrataFrame Developers
Posts: 6.6K,
Visits: 7K
|
It looks like this is ONLY happening on DevExpress grids version 9.x and greater. So something apparently changed. Instead of getting in contact with DevExpress, etc. we went ahead and made a code change in the event that another 3rd party control references an IBindingList implementation during disposal. Ultimately this is a simple fix, but the reason for all of the confusion was due to different versions of a 3rd party control acting different ways. The next minor release posted will include this fix, but you can go ahead and change the source if you like temporarily. You WILL NOT have to maintain this source as it has already been changed. But the issue is that the _BusinessObject has already been disposed, thus when the grid implicitly attempts to dispose of the data source, an error occurs. Here is the code as it should be to resolve the error: BusinessBindingSource, RemoveBOHandlers() '''
''' Removes the necessary event handlers from the business object.
'''
'''
Private Sub RemoveBOHandlers()
'-- Make sure that the BO has a reference
If _BusinessObject Is Nothing Then Return
Try
'-- Remove the necessary handlers
RemoveHandler Me._BusinessObject.AfterAddNew, AddressOf BusinessObject_InternalAfterAddNew
RemoveHandler Me._BusinessObject.BeforeAddNew, AddressOf BusinessObject_InternalBeforeAddNew
RemoveHandler Me._BusinessObject.InternalAfterAddNew, AddressOf BusinessObject_InternalAfterAddNew
RemoveHandler Me._BusinessObject.CurrentDataTableRefilled, AddressOf BusinessObject_CurrentDataTableRefilled
RemoveHandler Me._BusinessObject.CurrentView.ListChanged, AddressOf BusinessObject_CurrentView_ListChanged
RemoveHandler Me._BusinessObject.Navigated, AddressOf BusinessObject_Navigated
RemoveHandler Me._BusinessObject.IsDirtyChanged, AddressOf BusinessObject_IsDirtyChanged
Catch ex As Exception
End Try
End Sub
|
|
|
Peter Jones
|
|
Group: Forum Members
Posts: 386,
Visits: 2.1K
|
Hi Trent,
I just want to confirm that you guys are 'on the case'. We have also commented out that line of code that Bill highlighted and now our app works ok with SF 1.7 and DX 9.1.5. but what are the side effects (if any) of doing this?
Cheers, Peter
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
Ok...I got there. I am now running on SF 1.7.0 and DevEx 9.1.5. Of course, I do still have that RemoveBOHandlers method commented out in the BBS class. I am going to make a couple of quick changes to other areas in my application, run some tests, then post the update. Looks like I am back in business!
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
Bill Cunnien (07/30/2009) ...I am not going to take the next step and update DevEx.Actually, I am updating the DevEx tools. Slight typo there. Sorry. I meant to say, "I am now going to take the next step..."
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
I commented out that code and everything works just fine. I am running SF 1.7.0 with DevEx 8.2.10. I am not going to take the next step and update DevEx. It appears that DevEx is not the issue (although, it could be somewhere in there...it is a complex issue, I suppose). Once I update DevEx to 9.1.5, I will report back here again. At least my app is running and I know that I can update the clients at this point.
Please let me know if I am doing serious damage by removing that code.
Thanks!
|
|
|
Bill Cunnien
|
|
Group: Forum Members
Posts: 785,
Visits: 3.6K
|
Is the following code necessary (red highlight)? If so, why?
' From the BusinessBindingSource.vb in the Business Namespace
#Region " Protected Methods "
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
'-- Dispose of the internal list of business objects when done and clear
' the references to the pieces
If disposing Then
If Me._BusinessObjectList IsNot Nothing Then
For Each bo As BusinessLayer In Me._BusinessObjectList.Values
bo.Dispose()
Next
Me._BusinessObjectList.Clear()
End If
'-- Remove the reference to the business object
If Me._BusinessObject IsNot Nothing Then
[color=#FF0000]Me.RemoveBOHandlers()[/color]
Me._BusinessObject = Nothing
Me._BusinessObject_CurrentView = Nothing
End If
End If
'-- Base call
MyBase.Dispose(disposing)
End Sub
#End Region
Can I comment out the line and move on without big bad voodoo?
|
|
|