求VC调用DELPHI编写的DLL的例子,要能调试通过的,在线等,通过马上给分!!! ( 积分: 200 )

  • 主题发起人 主题发起人 明月几时有
  • 开始时间 开始时间

明月几时有

Unregistered / Unconfirmed
GUEST, unregistred user!
偶现在用DELPHI编写好了一个DLL程序,现在想用VC去调用这个DLL程序,因为以前从来都没有接触过VC,现在调试起来难度很大,但是现在客户那边催的又比较急,所以希望找一个能够通过调试的例子来参考下,从论坛上以前发的类似帖子看过,但是自己调试没通过。<br>所以现在想求一个VC调用的例子,最好有源代码,要不讲下详细点的过程也可以!!<br>偶QQ:99128682<br>EMAIL:jiangmq007@163.com
 
偶现在用DELPHI编写好了一个DLL程序,现在想用VC去调用这个DLL程序,因为以前从来都没有接触过VC,现在调试起来难度很大,但是现在客户那边催的又比较急,所以希望找一个能够通过调试的例子来参考下,从论坛上以前发的类似帖子看过,但是自己调试没通过。<br>所以现在想求一个VC调用的例子,最好有源代码,要不讲下详细点的过程也可以!!<br>偶QQ:99128682<br>EMAIL:jiangmq007@163.com
 
VC调试调用DLL其实和DLEPHI是一样的。<br>这是我动态调用DELPHI的DLL的例子你可以看看:<br>typedef char *(__stdcall *Magicone)();<br> HINSTANCE hinstDLL=NULL; <br> hinstDLL=LoadLibrary(&quot;Magic.dll&quot;);<br> if (hinstDLL)<br> {<br> try<br> { <br> Magicone Proc;<br> Proc = (Magicone)GetProcAddress (hinstDLL,&quot;Magic_Five&quot;);<br> char * ReBack = Proc();<br> bool iValue;<br> if(strcmp(ReBack,&quot;&quot;)!=0)<br> {<br> strcpy(ComputerNum,ReBack);<br> iValue=true;<br> }<br> else<br> {<br> //调用出错<br> strcpy(ComputerNum,&quot;&quot;);<br> iValue=false;<br> }<br> FreeLibrary(hinstDLL);<br> return iValue;<br> }<br> catch(...)<br> {<br> FreeLibrary(hinstDLL);<br> return false;<br> }<br> }<br> else<br> {<br> return false;<br> }
 
葵花宝典里有的是例子.干嘛不自己去看.
 
void CMainFrame::OnButton() <br>{<br> int (WINAPI *lpfun123)(char*,char*,char*,char*,char*);<br> HINSTANCE hd;<br> &nbsp; &nbsp;FARPROC lpFarProc;<br> &nbsp; &nbsp;hd = LoadLibrary (&quot;abcdefg.dll&quot; ) ;<br> &nbsp; &nbsp;lpFarProc =GetProcAddress(hd, &quot;fun123&quot; );<br> &nbsp; &nbsp;lpfun123 = (int(__stdcall *)(char*,char*,char*,char*,char*))lpFarProc;//转换指针<br> &nbsp; int re=lpfun123(&quot;xxxxxx&quot;,&quot;xxxxx&quot;,&quot;xxxxx&quot;,&quot;xxxxx&quot;,&quot;xxxx&quot;);<br> &nbsp; &nbsp;CString cre;<br> cre.Format(&quot;%d&quot;,re);<br> &nbsp; &nbsp; MessageBox(cre);<br>}<br>你可以仿照这个写,应该是没有问题的,我这里fun123是一个有5个PChar类型参数的函数,返回值为int
 
接受答案了.
 
后退
顶部