Hi,&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I attached the sample test program which fails to call dll when it is run by &quot;mpiexec -n 1 application name&quot;. <br>&nbsp;&nbsp;&nbsp;&nbsp; (Btw, when using &quot;mpiexec -localonly application name&quot;, dll can be called.)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>The DLL called in the program is <meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CNINGYA%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C08%5Cclip_filelist.xml"><style>
&lt;!--
 /* Font Definitions */
 @font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-alt:SimSun;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
        {font-family:&quot;\@宋体&quot;;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:&quot;&quot;;
        margin:0pt;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        mso-pagination:none;
        font-size:10.5pt;
        mso-bidi-font-size:12.0pt;
        font-family:&quot;Times New Roman&quot;;
        mso-fareast-font-family:宋体;
        mso-font-kerning:1.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;
        mso-header-margin:36.0pt;
        mso-footer-margin:36.0pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
--&gt;
</style> a Dynamic Link Library (DLL) provided by ArcView ( a GIS software) for use with
WinHelp that lets you run a script. The DLL contains two functions that you can
use as WinHelp macros.



<p class="MsoNormal">AVRun -- this macro sends an Avenue statement from Help to
ArcView. For example, you might send a statement to make a particular view the
active document or run a script contained in the current project.</p><p class="MsoNormal"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CNINGYA%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C09%5Cclip_filelist.xml"><style>
&lt;!--
 /* Font Definitions */
 @font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-alt:SimSun;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
        {font-family:&quot;\@宋体&quot;;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:&quot;&quot;;
        margin:0pt;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        mso-pagination:none;
        font-size:10.5pt;
        mso-bidi-font-size:12.0pt;
        font-family:&quot;Times New Roman&quot;;
        mso-fareast-font-family:宋体;
        mso-font-kerning:1.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;
        mso-header-margin:36.0pt;
        mso-footer-margin:36.0pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
--&gt;
</style>

</p><p class="MsoNormal">AVScript -- this macro runs a given script regardless of
what ArcView project is open. The script, in this case, is stored as part of
the Help file and not in an ArcView project.</p><p class="MsoNormal"><br></p>

Here&#39;s how you could run a script in the current ArcView project file and pass an argument to it. In this case, the number 5 is passed as an argument to a script, named script1, in the project:<br>AVRun(`av.Run(&quot;script1&quot;, 5)&#39;)<p>
</p><p class="MsoNormal"><br></p><p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Here is the sample test code<br></p>

------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>#include&lt;iostream&gt;<br>#include &lt;windows.h&gt; <br>
<br>/*Some users may get error messages such as<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; SEEK_SET is #defined but must not be for the C++ binding of MPI<br>&nbsp;&nbsp; The problem is that both stdio.h and the MPI C++ interface use SEEK_SET, SEEK_CUR, and SEEK_END. <br>
&nbsp;&nbsp; This is really a bug in the MPI-2 standard. You can try adding the following three lines before mpi.h is included<br>*/<br>#undef SEEK_SET<br>#undef SEEK_END<br>#undef SEEK_CUR<br>#include &quot;mpi.h&quot;<br><br>typedef char (__stdcall *AVRUN) (char[100]); <br>
HINSTANCE ArcviewDLL;<br>AVRUN AVRun;<br><br>int main(int argc,char **argv)<br>{<br><br>&nbsp;&nbsp;&nbsp; //load avhelp.dll <br>&nbsp;&nbsp;&nbsp; ArcviewDLL= LoadLibraryA(&quot;Avhelp.dll&quot;);&nbsp;&nbsp;&nbsp; //It needs a Unicode string. Therefore, we use LoadLibraryA() instead of LoadLibrary()&nbsp; <br>
&nbsp;&nbsp;&nbsp; if (ArcviewDLL==NULL)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;cannot load the Avhelp.dll.\n&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;Make sure that the Avhelp.dll is in your \\windows\\system &quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;directory or in the program&#39;s directory.\n&quot;);<br>
&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; //get the adress of the AVRun function <br>&nbsp;&nbsp;&nbsp; AVRun = (AVRUN) GetProcAddress(ArcviewDLL, &quot;AVRun&quot;);<br><br>&nbsp;&nbsp;&nbsp; //================================== Start MPI =======================================//<br>
&nbsp;&nbsp;&nbsp; //MPI : Declar Variables<br>&nbsp;&nbsp;&nbsp; int my_rank;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Rank of process <br>&nbsp;&nbsp;&nbsp; int num_proc;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Number of processers<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; //MPI : Initialize<br>
&nbsp;&nbsp;&nbsp; MPI_Init(&amp;argc, &amp;argv);<br>&nbsp;&nbsp;&nbsp; MPI_Comm_rank(MPI_COMM_WORLD, &amp;my_rank);<br>&nbsp;&nbsp;&nbsp; MPI_Comm_size(MPI_COMM_WORLD, &amp;num_proc);<br><br><br>&nbsp;&nbsp;&nbsp; // -------- master Program ----------------//<br>&nbsp;&nbsp;&nbsp; if (my_rank==0)&nbsp;&nbsp;&nbsp;&nbsp; // Master processor<br>
&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //-------------Start call dll --------------//&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ArcviewDLL= LoadLibraryA(&quot;Avhelp.dll&quot;);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; AVRun = (AVRUN) GetProcAddress(ArcviewDLL, &quot;AVRun&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::cout&lt;&lt;&quot;Start Calling DLL&quot;&lt;&lt;std::endl;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; AVRun(&quot;av.run(\&quot;HAO_script3\&quot;,\&quot;\&quot;)&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; std::cout&lt;&lt;&quot;End Calling DLL&quot;&lt;&lt;std::endl;<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //MasterWork_MPI();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //-------------End call dll---------------//<br>
&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; // --------slave Program ------------------//<br>&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //SlaveWork_MPI();<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; MPI_Finalize(); <br><br>&nbsp;&nbsp;&nbsp; //================================ End MPI ====================================//<br>
&nbsp;&nbsp;&nbsp; return 0;<br>}<br><br>&nbsp;&nbsp;&nbsp; <br><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CNINGYA%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C07%5Cclip_filelist.xml"><link rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CNINGYA%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C07%5Cclip_editdata.mso"><style>
&lt;!--
 /* Font Definitions */
 @font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-alt:SimSun;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
        {font-family:&quot;\@宋体&quot;;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:&quot;&quot;;
        margin:0pt;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        mso-pagination:none;
        font-size:10.5pt;
        mso-bidi-font-size:12.0pt;
        font-family:&quot;Times New Roman&quot;;
        mso-fareast-font-family:宋体;
        mso-font-kerning:1.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;
        mso-header-margin:36.0pt;
        mso-footer-margin:36.0pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
--&gt;
</style><span style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;;"></span>Vivian<br>12/05/2008<br><br><br><br><div class="gmail_quote">On Fri, Dec 5, 2008 at 10:03 AM, Jayesh Krishna <span dir="ltr">&lt;<a href="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



<div>
<div dir="ltr" align="left"><font size="2" color="#0000ff" face="Arial"><span>Hi,</span></font></div>
<div dir="ltr" align="left"><font size="2" color="#0000ff" face="Arial"><span>&nbsp;Can you send us a sample test program that fails 
?</span></font></div>
<div dir="ltr" align="left"><font size="2" color="#0000ff" face="Arial"><span></span></font>&nbsp;</div>
<div dir="ltr" align="left"><font size="2" color="#0000ff" face="Arial"><span>Regards,</span></font></div>
<div dir="ltr" align="left"><font size="2" color="#0000ff" face="Arial"><span>Jayesh</span></font></div><font size="2" color="#0000ff" face="Arial"></font><br>
<div dir="ltr" align="left" lang="en-us">
<hr>
<font size="2" face="Tahoma"><b>From:</b> <a href="mailto:mpich-discuss-bounces@mcs.anl.gov" target="_blank">mpich-discuss-bounces@mcs.anl.gov</a> 
[mailto:<a href="mailto:mpich-discuss-bounces@mcs.anl.gov" target="_blank">mpich-discuss-bounces@mcs.anl.gov</a>] <b>On Behalf Of 
</b>Vivian<br><b>Sent:</b> Friday, December 05, 2008 12:05 AM<br><b>To:</b> 
<a href="mailto:mpich-discuss@mcs.anl.gov" target="_blank">mpich-discuss@mcs.anl.gov</a><br><b>Subject:</b> [mpich-discuss] problem of calling 
.dll in mpich<br></font><br></div><div><div></div><div class="Wj3C7c">
<div></div>Hi,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I met some problems when I was 
trying to call a dll in a mpich program (Language:VS 
2005).<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1) MPICH seems to only support calling 
convention&nbsp; _cdecl. <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; When I change 
the project setting to _stdcall, the code cannot be successfully 
built.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; So I set the 
project setting back to _cdecl and force the calling convention of the function 
pointer to my function on the DLL to be &quot;_stdcall&quot;. This time the program is 
built. <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Under 
debugging mode or directly run in command window ( c:&gt;test.ext), there is no 
problem to call dll in the code.<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Here is 
the code:<br>&nbsp; &nbsp; 
-------------------------------------------------------------------------------- 
<br>&nbsp;&nbsp;&nbsp;&nbsp; typedef char (__stdcall *AVRUN) (char[100]);&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp; HINSTANCE ArcviewDLL;&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp; AVRUN AVRun;<br>&nbsp;&nbsp;&nbsp;&nbsp; 
ArcviewDLL= LoadLibraryA(&quot;Avhelp.dll&quot;);&nbsp;&nbsp;&nbsp; 
<br>&nbsp;&nbsp;&nbsp;&nbsp; AVRun = (AVRUN) GetProcAddress(ArcviewDLL, 
&quot;AVRun&quot;);<br><br>&nbsp;&nbsp;&nbsp; 
AVRun(&quot;av.run(\&quot;HAO_script3\&quot;,\&quot;\&quot;)&quot;);<br>&nbsp;&nbsp;&nbsp; 
-------------------------------------------------------------------------------<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
(2) However, the program fails to call dll when I use &quot;mpiexec&quot; to run it. 
(c:&gt;mpiexec -n 1 
test.exe).<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; It 
seems to &quot;stop&quot; right before this line<br>&nbsp; 
-------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp; 
AVRun(&quot;av.run(\&quot;HAO_script3\&quot;,\&quot;\&quot;)&quot;);<br>&nbsp; 
-------------------------------------------------------------<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Is there anyone having any idea why this happens?<br clear="all"><br>--<br>Vivian<br></div></div></div>
</blockquote></div><br>