阿杰 发表于 2008-12-13 22:48:57

【开源】用VC编写在FOXPRO下专用的FLL类库

新建testadd文件夹
<p>拷贝pro_ext.h,winapims.lib到testadd文件夹</p>
<p>这两个文件在“盘符<font face="Verdana">:\Program Files\Microsoft visual foxpro 9\Samples\API”目录下</font></p>
<p>在testadd文件夹里新建testadd.c<br/>// 注意:不要用向导建成testadd.cpp</p>
<p>#include "pro_ext.h"<br/>// 注意:如果写成#include &lt;pro_ext.h&gt;,需要把pro_ext.h拷贝到Visul C++之Include文件夹</p>
<p>void TestAdd(ParamBlk FAR *parm)<br/>{<br/>&nbsp;&nbsp; int x1;<br/>&nbsp;&nbsp; x1 = parm-&gt;p.val.ev_long + parm-&gt;p.val.ev_long;<br/>&nbsp;&nbsp; _RetInt(x1,10);<br/>}</p>
<p>FoxInfo myFoxInfo[] = {<br/>&nbsp;&nbsp; {"TESTADD", (FPFI)TestAdd,2,"I,I"},<br/>};</p>
<p>FoxTable _FoxTable={<br/>(FoxTable *)0,sizeof(myFoxInfo)/sizeof(FoxInfo),myFoxInfo<br/>};</p>
<p>双击testadd.c打开Visual C++ 6.0</p>
<p>Build<br/>--&gt; Rebuild All</p>
<p>Build<br/>--&gt; Set Active Configuration...<br/>--&gt; testadd - Win32 Release</p>
<p>Project<br/>--&gt; Setting...</p>
<p>C/C++<br/>--&gt; Porject Options:<br/>--&gt; 把 /ML 改为 /MD <br/>--&gt; 增加 /Gr<br/>// 注意:因Vfp要求fastcall,必须加/Gr选项</p>
<p>Link<br/>--&gt; Object/library modules:<br/>--&gt; 增加 winapims.lib<br/>--&gt; Porject Options:<br/>--&gt; 增加 /dll<br/>OK</p>
<p>Build<br/>--&gt; Rebuild All</p>
<p>进入vfp验证一下:<br/>set libr to release\testadd.dll<br/>?testadd(1,2)</p>
[此贴子已经被作者于2008-12-13 22:52:30编辑过]
页: [1]
查看完整版本: 【开源】用VC编写在FOXPRO下专用的FLL类库