怎么在delphi中调用VC的DLL?急! (30分)

  • 主题发起人 主题发起人 jh924
  • 开始时间 开始时间
J

jh924

Unregistered / Unconfirmed
GUEST, unregistred user!
用VC做了一个DLL,可是现在要在delphi中调用它,我该用什么方法调用??
 
调用的方法与调用Windows的自带的Dll的方法是一样。
不过要注意的是VC的申明也要是Stdcall的,这样一般就不会出错了。
 
你先要在delphi中单元文件的定义部分指定你的.DLL中所包含的函数,例如:
function MessageBox(HWnd: Integer; Text, Caption: PChar; Flags: Integer):
; ;Integer; stdcall; external 'user32.dll' name 'MessageBoxA';

以后就可以在实现部分进行调用了。
在VC中写DLL,及delphi中调用DLL都要注意参数的数据类型匹配及参数的传递顺序。
具体更多的例子你可以找delphi安装目录下的window.pas看一下。
 
没甚么大问题,关键是怎样用Delphi改写VC的动态库头文件,请参考:
extern "C" DLLEXP __stdcall
; ; ; ;long Set_Mode(int AR_ID,int Price_Mode,int Price_Type,int Price);
function Set_Mode(AR_id,price_mode,price_type,price:integer)
; ; ; ;:integer;stdcall;external'JBC3000P.dll';
另外,要注意单独使用一个UNIT单元来声明库函数,这样就可以在程序中任意地方使用
声明的库函数了。
 
来晚了!
 
后退
顶部