<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="MSHTML 10.00.9200.16750">
<style id="owaParaStyle">P {
        MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px
}
</style>
</head>
<body fPStyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<p>Hi,all, I am using GAlib&nbsp;in my Visual Studio MFC project&nbsp;and encountered a Unhandled exception when using GA
<span class="pln">initialize() </span><span class="pun"></span>:</p>
<p>&nbsp;</p>
<p><span class="typ">Unhandled</span><span class="pln"> exception at </span><span class="lit">0x765b2eec</span><span class="pln">
</span><span class="kwd">in</span><span class="pln"> </span><span class="typ">XMLDOMFromVC</span><span class="pun">.</span><span class="pln">exe</span><span class="pun">:</span><span class="pln">
</span><span class="typ">Microsoft</span><span class="pln"> C</span><span class="pun">&#43;&#43;</span><span class="pln"> exception</span><span class="pun">:</span><span class="pln"> _com_error at memory location
<span class="lit">0x00f9de10</span><span class="pun">..</span></span></p>
<p><span class="pln"><span class="pun"></span></span>&nbsp;</p>
<p><span class="pln"><span class="pun">My code is as follows:</span></span></p>
<p><span class="pln"><span class="pun"></span></span>&nbsp;</p>
<p><span class="pln"><span class="pun"><span class="kwd">void</span><span class="pln">
</span><span class="typ">CGATrainingDlg</span><span class="pun">::</span><span class="typ">OnBnClickedGaTrainButton</span><span class="pun">()</span><span class="pln"><br>
</span><span class="pun">{</span><span class="pln"><br>
</span><span class="com">// TODO: Add your control notification handler code here</span><span class="pln"><br>
</span><span class="typ">GARealAlleleSetArray</span><span class="pln"> alleles2a</span><span class="pun">;</span><span class="pln"><br>
</span><span class="kwd">for</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> i</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">&lt;</span><span class="pln">m_nAlleleSetArrayLen</span><span class="pun">;</span><span class="pln">
 i</span><span class="pun">&#43;&#43;)</span><span class="pln"><br>
alleles2a</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln">
</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span>
<span class="typ">GAAllele</span><span class="pun">::</span><span class="pln">EXCLUSIVE</span><span class="pun">,</span><span class="pln">
</span><span class="typ">GAAllele</span><span class="pun">::</span><span class="pln">INCLUSIVE</span><span class="pun">);</span><span class="pln"><br>
<br>
</span><span class="typ">GARealGenome</span><span class="pln"> genome2a</span><span class="pun">(</span><span class="pln">alleles2a</span><span class="pun">,</span><span class="pln">
</span><span class="typ">ObjectiveTrampoline</span><span class="pun">,</span><span class="pln">
</span><span class="kwd">this</span><span class="pun">);</span><span class="pln"><br>
genome2a</span><span class="pun">.</span><span class="pln">mutator</span><span class="pun">(</span><span class="typ">GARealIncrementalMutator</span><span class="pun">);</span><span class="pln"><br>
genome2a</span><span class="pun">.</span><span class="pln">crossover</span><span class="pun">(</span><span class="typ">GARealOnePointCrossover</span><span class="pun">);</span><span class="pln"><br>
<br>
</span><span class="com">// Now do a genetic algorithm for each one of the genomes that we created.</span><span class="pln"><br>
</span><span class="typ">GASimpleGA</span><span class="pln"> ga</span><span class="pun">(</span><span class="pln">genome2a</span><span class="pun">);</span><span class="pln"><br>
<br>
</span><span class="com">// Now that we have the genomes, create a parameter list that will be used for</span><span class="pln"><br>
</span><span class="com">// all of the genetic algorithms.</span><span class="pln"><br>
</span><span class="typ">GAParameterList</span><span class="pln"> </span><span class="kwd">params</span><span class="pun">;</span><span class="pln"><br>
</span><span class="typ">GASimpleGA</span><span class="pun">::</span><span class="pln">registerDefaultParameters</span><span class="pun">(</span><span class="kwd">params</span><span class="pun">);</span><span class="pln"><br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNpCrossover</span><span class="pun">,</span><span class="pln"> m_dPCross</span><span class="pun">);</span><span class="pln">
<br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNpMutation</span><span class="pun">,</span><span class="pln"> m_dPMut</span><span class="pun">);</span><span class="pln"><br>
<br>
</span><span class="kwd">if</span><span class="pun">(</span><span class="pln">BST_CHECKED
</span><span class="pun">==</span><span class="pln"> </span><span class="typ">IsDlgButtonChecked</span><span class="pun">(</span><span class="pln">IDC_GA_CONVERGENCE_RADIO</span><span class="pun">))</span><span class="pln"><br>
</span><span class="pun">{</span><span class="pln"><br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNpConvergence</span><span class="pun">,</span><span class="pln"> m_fPconv</span><span class="pun">);</span><span class="pln"><br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNnConvergence</span><span class="pun">,</span><span class="pln"> m_nConv</span><span class="pun">);</span><span class="pln"><br>
ga</span><span class="pun">.</span><span class="pln">terminator</span><span class="pun">(</span><span class="typ">GAGeneticAlgorithm</span><span class="pun">::</span><span class="typ">TerminateUponConvergence</span><span class="pun">);</span><span class="pln"><br>
</span><span class="pun">}</span><span class="kwd">else</span><span class="pun">{</span><span class="pln"><br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNnGenerations</span><span class="pun">,</span><span class="pln"> m_nGAGen</span><span class="pun">);</span><span class="pln"><br>
</span><span class="pun">}</span><span class="pln"><br>
<br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNpopulationSize</span><span class="pun">,</span><span class="pln"> m_nGAPopSize</span><span class="pun">);</span><span class="pln"><br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNscoreFrequency</span><span class="pun">,</span><span class="pln"> m_nScoreFreq</span><span class="pun">);</span><span class="pln"><br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNflushFrequency</span><span class="pun">,</span><span class="pln"> m_nFlushFreq</span><span class="pun">);</span><span class="pln"><br>
</span><span class="kwd">params</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="pln">gaNselectScores</span><span class="pun">,</span><span class="pln">
</span><span class="pun">(</span><span class="kwd">int</span><span class="pun">)</span><span class="typ">GAStatistics</span><span class="pun">::</span><span class="typ">AllScores</span><span class="pun">);</span><span class="pln"><br>
<br>
</span><span class="kwd">if</span><span class="pun">((</span><span class="pln">m_fPconv
</span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pln">
</span><span class="pun">||</span><span class="pln"> m_nConv </span><span class="pun">==</span><span class="pln">
</span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span>
<span class="pun">&amp;&amp;</span><span class="pln"> m_nGAGen </span><span class="pun">==</span><span class="pln">
</span><span class="lit">0</span><span class="pun">)</span><span class="pln"><br>
</span><span class="pun">{</span><span class="pln"><br>
</span><span class="typ">AfxMessageBox</span><span class="pun">(</span><span class="pln">_T</span><span class="pun">(</span><span class="str">&quot;You need to specify parameters for GA Terminator&quot;</span><span class="pun">));</span><span class="pln"><br>
</span><span class="kwd">exit</span><span class="pun">(</span><span class="pln">EXIT_FAILURE</span><span class="pun">);</span><span class="pln"><br>
</span><span class="pun">}</span><span class="pln"><br>
<br>
ga</span><span class="pun">.</span><span class="pln">parameters</span><span class="pun">(</span><span class="kwd">params</span><span class="pun">);</span><span class="pln"><br>
</span><span class="com">// the following line is where the exception happened</span><span class="pln"><br>
ga</span><span class="pun">.</span><span class="pln">initialize</span><span class="pun">();</span><span class="pln"><br>
</span><span class="com">/* some other code*/</span><span class="pln"><br>
</span><span class="pun">}</span></span></span></p>
<p><span class="pln"><span class="pun"><span class="pun"></span></span></span>&nbsp;</p>
<p><span class="pln"><span class="pun"><span class="pun">I have been followed&nbsp;an example (ex7.C) that use `initialize()`, but do not know why I encountered this runtime exception, can anyone suggest me what to do?</span></span></span></p>
<p><span class="pln"><span class="pun"><span class="pun"></span></span></span>&nbsp;</p>
<p><span class="pln"><span class="pun"><span class="pun">cheers</span></span></span></p>
</div>
</body>
</html>