<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Forums - SignalLab]]></title>
		<link>http://mitov.com/forum/</link>
		<description><![CDATA[Forums - http://mitov.com/forum]]></description>
		<pubDate>Wed, 22 Apr 2026 06:48:46 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Access violation with TSLCRealMatrixBuffer]]></title>
			<link>http://mitov.com/forum/thread-400.html</link>
			<pubDate>Mon, 18 Jun 2012 18:08:10 -0400</pubDate>
			<guid isPermaLink="false">http://mitov.com/forum/thread-400.html</guid>
			<description><![CDATA[Hi<br />
<br />
I write here because I am now debugging for hours and I do not have any clue what I am doing wrong.<br />
<br />
I got two pointers to two TSLCRealMatrixBuffers. The first one contains little frames from a movie, each row of the buffer is one frame, and the second one contains a 2 if that frame is a movie frame and a 1 if that frame is an advertisement frame.<br />
<br />
I am now creating two new buffers which I fill with the old data. I do not copy all rows. In the new buffers I want the same amount of movie and ad frames.<br />
<br />
When I run the program I get every time an access violation either on newTrainigData or on newResponses. Strange is that it occurs in different lines sometimes when I copy the trainingData and sometimes when I copy the responses and rarely when I want to get the responses in the calling method.<br />
<br />
The access violation does not occur at the first access. The data is copied in a loop and the access violation occurs at i=16 or 54 or something.<br />
<br />
The debugger shows me that the pointer to the buffer is not NULL and the address of the pPasBuffer is not NULL too. But this FInstance property of the buffer is either NULL or it says ?????.<br />
<br />
Are there any problems with pointers to TSLCRealMatrixBuffer? Or am I doing something wrong?<br />
<br />
I appended the C++ Builder source code. SignalLab Version is 5.0.2 OS is Windows 7 x64<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>int noAdFrames = 0;<br />
int noMovFrames = 0;<br />
bool* frameRead = new bool[responses-&gt;GetRows()];<br />
TSLCRealMatrixBuffer* newTrainingData = 0;<br />
TSLCRealMatrixBuffer* newResponses = 0;<br />
int rows = 0;<br />
<br />
// initialise to false<br />
for (int i = 0; i &lt; responses-&gt;GetRows(); i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;frameRead[i] = false;<br />
}<br />
<br />
// count frames<br />
for (int i = 0 ; i &lt; framesStored; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;if((*responses)[i][0] == MOVIE) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;noMovFrames++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else if ((*responses)[i][0] == AD) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;noAdFrames++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
<br />
// determine which type of frame occurs less often and create the<br />
// new training data matrix for double the size of the less often<br />
// frame type<br />
if ( noAdFrames != noMovFrames) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (noAdFrames &lt; noMovFrames) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newTrainingData = new TSLCRealMatrixBuffer(noAdFrames * 2, trainingData-&gt;GetCols());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newResponses = new TSLCRealMatrixBuffer(noAdFrames * 2, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rows = noAdFrames * 2;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newTrainingData = new TSLCRealMatrixBuffer(noMovFrames * 2 + 1, trainingData-&gt;GetCols());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newResponses = new TSLCRealMatrixBuffer(noMovFrames * 2 + 1, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rows = noMovFrames * 2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// seed random number generator<br />
&nbsp;&nbsp;&nbsp;&nbsp;srand( (unsigned)time( NULL ) );<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// fill the new training data matrix with the data from the old matrix<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;int loopStop = rows * 0.75;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; loopStop; i++) {&nbsp;&nbsp;&nbsp;&nbsp;// only till 75% of the buffer to ensure good performance<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int randomFrame = rand() % framesStored;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// has this frame already been copied?<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// MOVIE and AD parts should alternate<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (frameRead[randomFrame] == false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp; ((i % 2 == 0 &amp;&amp; (*responses)[i][0] == MOVIE)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| (i % 2 == 1 &amp;&amp; (*responses)[i][0] == AD))) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;randomFrame = rand() % framesStored;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// copy data<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newResponses-&gt;SetItem(i, 0,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;responses-&gt;GetItem(randomFrame, 0));<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int j = 0; j &lt; trainingData-&gt;GetCols(); j++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newTrainingData-&gt;SetItem(i, j,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trainingData-&gt;GetItem(randomFrame, j));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frameRead[randomFrame] = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// do the remeining 25%<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (int i = newTrainingData-&gt;GetRows() * 0.75; i &lt; framesStored; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int j = 0; j &lt; trainingData-&gt;GetRows(); j++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (frameRead[j] == false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp; ((i % 2 == 0 &amp;&amp; (*responses)[j][0] == MOVIE)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| (i % 2 == 1 &amp;&amp; (*responses)[j][0] == AD))) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// copy data<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*newResponses)[i][0] = (*responses)[j][0];<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int v = 0; v &lt; trainingData-&gt;GetCols(); v++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*newTrainingData)[i][v] = (*trainingData)[j][v];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frameRead[j] = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// clean up old pointers<br />
&nbsp;&nbsp;&nbsp;&nbsp;delete frameRead;<br />
&nbsp;&nbsp;&nbsp;&nbsp;delete trainingData;<br />
&nbsp;&nbsp;&nbsp;&nbsp;delete responses;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// redirect old pointers to new data<br />
&nbsp;&nbsp;&nbsp;&nbsp;responses = newResponses;<br />
&nbsp;&nbsp;&nbsp;&nbsp;trainingData = newTrainingData;<br />
}</code></div></div>
<br />
Feel free to ask more questions about the program or the code.<br />
This bug drives me crazy!<br />
<br />
benjamin]]></description>
			<content:encoded><![CDATA[Hi<br />
<br />
I write here because I am now debugging for hours and I do not have any clue what I am doing wrong.<br />
<br />
I got two pointers to two TSLCRealMatrixBuffers. The first one contains little frames from a movie, each row of the buffer is one frame, and the second one contains a 2 if that frame is a movie frame and a 1 if that frame is an advertisement frame.<br />
<br />
I am now creating two new buffers which I fill with the old data. I do not copy all rows. In the new buffers I want the same amount of movie and ad frames.<br />
<br />
When I run the program I get every time an access violation either on newTrainigData or on newResponses. Strange is that it occurs in different lines sometimes when I copy the trainingData and sometimes when I copy the responses and rarely when I want to get the responses in the calling method.<br />
<br />
The access violation does not occur at the first access. The data is copied in a loop and the access violation occurs at i=16 or 54 or something.<br />
<br />
The debugger shows me that the pointer to the buffer is not NULL and the address of the pPasBuffer is not NULL too. But this FInstance property of the buffer is either NULL or it says ?????.<br />
<br />
Are there any problems with pointers to TSLCRealMatrixBuffer? Or am I doing something wrong?<br />
<br />
I appended the C++ Builder source code. SignalLab Version is 5.0.2 OS is Windows 7 x64<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>int noAdFrames = 0;<br />
int noMovFrames = 0;<br />
bool* frameRead = new bool[responses-&gt;GetRows()];<br />
TSLCRealMatrixBuffer* newTrainingData = 0;<br />
TSLCRealMatrixBuffer* newResponses = 0;<br />
int rows = 0;<br />
<br />
// initialise to false<br />
for (int i = 0; i &lt; responses-&gt;GetRows(); i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;frameRead[i] = false;<br />
}<br />
<br />
// count frames<br />
for (int i = 0 ; i &lt; framesStored; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;if((*responses)[i][0] == MOVIE) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;noMovFrames++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else if ((*responses)[i][0] == AD) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;noAdFrames++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
<br />
// determine which type of frame occurs less often and create the<br />
// new training data matrix for double the size of the less often<br />
// frame type<br />
if ( noAdFrames != noMovFrames) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (noAdFrames &lt; noMovFrames) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newTrainingData = new TSLCRealMatrixBuffer(noAdFrames * 2, trainingData-&gt;GetCols());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newResponses = new TSLCRealMatrixBuffer(noAdFrames * 2, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rows = noAdFrames * 2;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newTrainingData = new TSLCRealMatrixBuffer(noMovFrames * 2 + 1, trainingData-&gt;GetCols());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newResponses = new TSLCRealMatrixBuffer(noMovFrames * 2 + 1, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rows = noMovFrames * 2;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// seed random number generator<br />
&nbsp;&nbsp;&nbsp;&nbsp;srand( (unsigned)time( NULL ) );<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// fill the new training data matrix with the data from the old matrix<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;int loopStop = rows * 0.75;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; loopStop; i++) {&nbsp;&nbsp;&nbsp;&nbsp;// only till 75% of the buffer to ensure good performance<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int randomFrame = rand() % framesStored;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// has this frame already been copied?<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// MOVIE and AD parts should alternate<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (frameRead[randomFrame] == false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp; ((i % 2 == 0 &amp;&amp; (*responses)[i][0] == MOVIE)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| (i % 2 == 1 &amp;&amp; (*responses)[i][0] == AD))) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;randomFrame = rand() % framesStored;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// copy data<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newResponses-&gt;SetItem(i, 0,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;responses-&gt;GetItem(randomFrame, 0));<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int j = 0; j &lt; trainingData-&gt;GetCols(); j++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newTrainingData-&gt;SetItem(i, j,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trainingData-&gt;GetItem(randomFrame, j));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frameRead[randomFrame] = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// do the remeining 25%<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (int i = newTrainingData-&gt;GetRows() * 0.75; i &lt; framesStored; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int j = 0; j &lt; trainingData-&gt;GetRows(); j++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (frameRead[j] == false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp; ((i % 2 == 0 &amp;&amp; (*responses)[j][0] == MOVIE)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| (i % 2 == 1 &amp;&amp; (*responses)[j][0] == AD))) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// copy data<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*newResponses)[i][0] = (*responses)[j][0];<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int v = 0; v &lt; trainingData-&gt;GetCols(); v++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(*newTrainingData)[i][v] = (*trainingData)[j][v];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frameRead[j] = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// clean up old pointers<br />
&nbsp;&nbsp;&nbsp;&nbsp;delete frameRead;<br />
&nbsp;&nbsp;&nbsp;&nbsp;delete trainingData;<br />
&nbsp;&nbsp;&nbsp;&nbsp;delete responses;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;// redirect old pointers to new data<br />
&nbsp;&nbsp;&nbsp;&nbsp;responses = newResponses;<br />
&nbsp;&nbsp;&nbsp;&nbsp;trainingData = newTrainingData;<br />
}</code></div></div>
<br />
Feel free to ask more questions about the program or the code.<br />
This bug drives me crazy!<br />
<br />
benjamin]]></content:encoded>
		</item>
	</channel>
</rss>