VC写dll给delphi调,怎么就这么麻烦????(乔炳龙来看看吧)(300分)

  • 主题发起人 主题发起人 zyy04
  • 开始时间 开始时间
Z

zyy04

Unregistered / Unconfirmed
GUEST, unregistred user!
我打算用Vc作一个dll供delphi调用,VC其中引出函数
想作成function test(v1,v2:LPTSTR):integer;的形式,
delphi中应该如何调用呢?如果能给出一个完整的例子(
包括delphi和vc的),就可以得到200分;另外的100分
是感谢乔炳龙对我的帮助的!
 
interface
function Test(v1, v2: PChar): Integer;
stdcall;
implementation
function Test;
external 'Test.Dll' name 'Test';
这样写就可以调用了,至于用 VC 写 DLL ,只要用 Wizard 生成一个框架,把函数加入
就可以了。
 
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
__declspec(dllexport) int max_ab(int,int);
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
__declspec(dllexport) int max_ab(int a, int b)
{
return a>b?a:b;
}
Delphi部分如Bakubaku所说:)
 
都差不多了哦
 
另外,vc写的dll,在用快速察看看的时候,是不是看不见输出函数列表呢?
 
32位的DLL是看不出的, 可以用VC中的Depends.exe来看.
 
我认为在DELPHI中调VC的DLL,动态方式比静态的要好!
而且最好在VC及DELPHI中都将函数声明为STDCALL比较正式
 
请你试一下用VC向导生成正规DLL后,导出的函数在.DEF中导出
(不要用 extern "C"导出 )
 
多人接受答案了。
 
后退
顶部