The given key was not present in the dictionary error


Author
Message
Trent Taylor
Trent Taylor
StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)
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
Jeff Pagley
Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)
Group: StrataFrame Users
Posts: 223, Visits: 893
Hi SF,

What is the status to my last post?

Thanks,

Jeff

Jeff Pagley
Jeff Pagley
Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)Advanced StrataFrame User (641 reputation)
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
E
StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)
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 Hehe

Edhy Rijo

Trent Taylor
Trent Taylor
StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)
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
Peter Jones
Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)
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
Bill Cunnien
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
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!



w00t
Bill Cunnien
Bill Cunnien
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
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..."



Blush
Bill Cunnien
Bill Cunnien
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
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
Bill Cunnien
StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)StrataFrame VIP (1.2K reputation)
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?
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search