Error when programmatically adding a new business object link record


Author
Message
PeterA
PeterA
StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)
Group: Forum Members
Posts: 72, Visits: 235
Ben Chase (10/02/2007)
Are you doing anything within the Global.BllManager.Remove("ContactRole") to unset the business objects on the Table1 Table2 and TableLink properties? If you aren't then even though the object is removed, it still has references to the business objects and it still has handlers on the business object events to tell it to fill/filter again.




No, I was just calling a remove. I thought that would do the equivalent of unsetting the attributes. Would setting the Table1, Table2, and TableLink properties to null be sufficient?



Thanks!

PeterA
PeterA
StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)
Group: Forum Members
Posts: 72, Visits: 235
Well, I've got it working now. Here's my learnings:



1) Don't use the BLLM to manage a fixed M2M relationship (i.e. three controls or sets of controls that add an M2M relationship when they contain values).

2) Always run a save after making a call to DeleteCurrentRow() on a business object because even if you call it with no parameters, it only marks them as deleted.

3) When you want to remove an M2M link, set Table1, Table2, and TableLink properties to null before destroying the relationship.

4) Make sure an Undo() is called any time an exception is thrown or it will cause some interesting issues when you try to add a row the next time through.

5) Make sure there's adequate documentation about an object before using it in an application.



Item #3 is definitely a bug. If you destroy the variable managing a relationship, it shouldn't longer fire any more events for the relationship.
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