Hi, this is my first post here. I hope you can help me.
All my problems begun with below procedure,
private void EntityManager(uint _index, DataRow _cachedrow)
{
while (_index < Controls.Length)
{
this.InfereControlContainer(_index);
this.SyncEvent.WaitOne();
_cachedrow[Controls[_index].Name] = Controls[_index].LastValue;
uint _nexthop = NextHop(_index);
uint current = 1;
while (current < Controls[_index].LoopHorizon.MaxCycle)
{
current++;
EntityManager(_nexthop, _cachedrow);
if (_nexthop > Controls.Length) { return; }
if (current > Controls[_index].LoopHorizon.MinCycle)
{
if (MessageBox.Show("Do you want to close this group?", Controls[_index].Description,
MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
{ return; }
}
}
_index = _nexthop;
}
this.InsertRow(_cachedrow);
}
Output example (well, at least is what I want):
["COLUMN_A"]["COLUMN_B"]["COLUMN_C"]["COLUMN_D"]["COLUMN_E"]
VAL1 VAL2 X Y Z
VAL1 VAL2 A B C
VAL1 VAL2 Foo Faa Fee
The problem-- there might be an error in that thread stuff or in the recursive procedure that suddenly produces "undesired results", say, in some rare cases the buffered inner (wrapped) row values just disappear so I only receive partial information in what should be a full filled row.
The rare thing happen when I debug the code, say, if I add interruption points in certain code areas, magically everything goes fine.
What I'm doing wrong?
Thanks in advance for your help. Ed.