动态连接库调用与设计(200分)

  • 主题发起人 主题发起人 D影子D
  • 开始时间 开始时间
D

D影子D

Unregistered / Unconfirmed
GUEST, unregistred user!
用VC做DLL怎么在Delphi里面调用?
需要注意什么吗?
反之用Delphi做,在VC中调用呢?
 
什么都不用注意,可以互相调用
例如
interface
function DllLIST(Login : PLogin path : PChar Echo : PChar) : PChar cdecl
function DllVstagPrint(Login : PLogin;
Volume, Filename, Echo : PChar) : PChar;
cdecl;
implementation
function DllLIST(Login : PLogin path : PChar Echo : PChar) : PChar External 'NcubesysServerCommunicate.dll' Name 'LIST'
function DllVstagPrint(Login : PLogin;
Volume, Filename, Echo : PChar) : PChar;
External 'NcubesysServerCommunicate.dll' Name 'VstagPrint';
 
VC也用PChar?
我想问例如:VC中一个ADD(int a,int b)函数
在delphi里面。。。。
反之。。。。
最好详细点,我送200
 
PChar在VC里就是char*啊,同样是字符串指针.
例如VC里导出一个 extern "C" _declspec(dllexport) char* test(int a,int b);
在DELPHI里定义:
type
TFunc = function(a:integer;b:integer):PChar;
var
pf:TFunc;
然后调用DLL获得导出函数地址给pf.
反之亦然,DELPHI中导出一个function Test(a:integer;b:integer):PChar;
VC里也可以用一个 char* (*p)(int a,int b)的函数指针来获得导出函数地址.
 
我想问例如:VC中一个ADD(int a,int b)函数
在delphi里面。。。。
ADD(a,b:integer)
函数名 一定要注意大小写
 
Delphi怎么知道VC中Dll里面的函数名?
 
兄台,这个dll不是你写的吗?你不知道他的函数名及参数?
Ps:Pchar,就是一个指向字符的指针
PChar = char^ =[C] char *p
 
http://www.ccw.com.cn/htm/app/aprog/01_10_29_2.asp
 
多人接受答案了。
 
后退
顶部