﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Issues  » StackOverflowException from BusinessLayerLinkManager</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 09 Jun 2026 07:08:52 GMT</lastBuildDate><ttl>20</ttl><item><title>StackOverflowException from BusinessLayerLinkManager</title><link>http://forum.strataframe.net/FindPost7147.aspx</link><description>Hi,&lt;P&gt;I have code to create BusinessLayerLinkManager (BLLM) and configure it programmatically. I hit error StackOverflow if I run my code more than once even though I have called BLLM.Displose(). Below is partial of the program call stack.&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;System.StackOverflowException was unhandled&lt;BR&gt;[quote]&amp;gt; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}, Boolean AcceptChanges = True, Boolean IsSharedTable = False) Line 2034 + 0x16 bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}, Boolean AcceptChanges = True) Line 2008 + 0x14 bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}) Line 2004 + 0xe bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.Clear() Line 5812 + 0xb bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayerLinkManager.FillTable2() Line 2158 + 0xe bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayerLinkManager.HandleTableLinkCurrentDataTableRefilled() Line 1106 + 0xa bytes Basic&lt;BR&gt;&amp;nbsp; [External Code] &lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.raise_CurrentDataTableRefilled() Line 824 + 0xe bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.OnCurrentDataTableRefilled() Line 835 + 0xa bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}, Boolean AcceptChanges = True, Boolean IsSharedTable = False) Line 2064 + 0xb bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}, Boolean AcceptChanges = True) Line 2008 + 0x14 bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}) Line 2004 + 0xe bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.Clear() Line 5812 + 0xb bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayerLinkManager.FillTableLink(Boolean CheckTable1 = False, Boolean CheckTable2 = True) Line 2216 + 0xb bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayerLinkManager.HandleTable2CurrentDataTableRefilled() Line 919 + 0x12 bytes Basic&lt;BR&gt;&amp;nbsp; [External Code] &lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.raise_CurrentDataTableRefilled() Line 824 + 0xe bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.OnCurrentDataTableRefilled() Line 835 + 0xa bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}, Boolean AcceptChanges = True, Boolean IsSharedTable = False) Line 2064 + 0xb bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}, Boolean AcceptChanges = True) Line 2008 + 0x14 bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(System.Data.DataTable NewTable = {System.Data.DataTable}) Line 2004 + 0xe bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayer.Clear() Line 5812 + 0xb bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayerLinkManager.FillTable2() Line 2158 + 0xe bytes Basic&lt;BR&gt;&amp;nbsp; MicroFour StrataFrame Business.dll!MicroFour.StrataFrame.Business.BusinessLayerLinkManager.HandleTableLinkCurrentDataTableRefilled() Line 1106 + 0xa bytes Basic[/quote]</description><pubDate>Tue, 27 Feb 2007 09:01:08 GMT</pubDate><dc:creator>Chan</dc:creator></item><item><title>RE: StackOverflowException from BusinessLayerLinkManager</title><link>http://forum.strataframe.net/FindPost7192.aspx</link><description>When I modify and run your sample, I do not get into an infinite loop (causing the StackOverflowException).&amp;nbsp; There is a flag in the FillTable2() method that prevents the method from being called recursively.&amp;nbsp; I noticed that your stack trace has debugging symbols, did you build the source code?&amp;nbsp; If you did, then can you put a break point in the BusinessLayerLinkManager.vb file within the HandleTableLinkCurrentDataTableRefilled() method and test the _IsInTable2Fill value... that flag should prevent the FillTable2() from being called.</description><pubDate>Tue, 27 Feb 2007 09:01:08 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: StackOverflowException from BusinessLayerLinkManager</title><link>http://forum.strataframe.net/FindPost7176.aspx</link><description>Hi,&lt;/P&gt;&lt;P&gt;Here it is&lt;/P&gt;&lt;FONT size=2&gt;&lt;P&gt;[codesnippet]_BusinessLayerLinkManager = new BusinessLayerLinkManager();&lt;BR&gt;SetupPurchaseInvoiceAndTransferLink();&lt;/P&gt;&lt;FONT size=2&gt;&lt;P&gt;_PurchaseInvoicesBO.FillByPrimaryKey(PurchaseInvoiceID);&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;_BusinessLayerLinkManager.Dispose();&lt;/P&gt;&lt;P&gt;public void SetupPurchaseInvoiceAndTransferLink()&lt;BR&gt;{&lt;BR&gt;_BusinessLayerLinkManager.Table1 = _PurchaseInvoicesBO;&lt;BR&gt;_BusinessLayerLinkManager.Table2 = _TransfersBO;&lt;BR&gt;_BusinessLayerLinkManager.TableLink = _PInvoiceTransferBO;&lt;BR&gt;_BusinessLayerLinkManager.PrimaryKeyOnTable1 = _PurchaseInvoicesBO.PrimaryKeyFields;&lt;BR&gt;_BusinessLayerLinkManager.PrimaryKeyOnTable2 = _TransfersBO.PrimaryKeyFields;&lt;BR&gt;_BusinessLayerLinkManager.ForeignKeyToTable1 = _PurchaseInvoicesBO.PrimaryKeyFields;&lt;BR&gt;_BusinessLayerLinkManager.ForeignKeyToTable2 = _TransfersBO.PrimaryKeyFields;&lt;BR&gt;_BusinessLayerLinkManager.FillLinkOnTable1Fill = true;&lt;BR&gt;_BusinessLayerLinkManager.FillLinkOnTable2Fill = true;&lt;BR&gt;_BusinessLayerLinkManager.FilterLinkOnTable1Filter = LinkManagerFilterTypeOptions.MatchCurrentRow;&lt;BR&gt;_BusinessLayerLinkManager.FilterLinkOnTable2Filter = LinkManagerFilterTypeOptions.MatchCurrentRow;&lt;BR&gt;}[/codesnippet]&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><pubDate>Mon, 26 Feb 2007 10:30:00 GMT</pubDate><dc:creator>Chan</dc:creator></item><item><title>RE: StackOverflowException from BusinessLayerLinkManager</title><link>http://forum.strataframe.net/FindPost7165.aspx</link><description>I'm not able to reproduce this... can I have your code snippet where you create the BusinessLayerLinkManager programmatically?</description><pubDate>Mon, 26 Feb 2007 09:01:28 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item></channel></rss>