这个dll怎么调用呀?(50分)

C

clark_x

Unregistered / Unconfirmed
GUEST, unregistred user!
class A_API Cchk {
public:
int e_pwd(char *s_pwd, char *s_key1, char *s_key2);//密码加密
int c_chk(char *ps_card_id, char f);//卡号校验
int a_chk(char *ps_acct_id, int e);//帐号校验
Cchk(void);

};

我现在用
function a_chk( pSource:pCHAR
e:integer ): integer;
stdcall;external 'achk.dll';

dll就放在exe同目录,但是就是抱 无法定位程序输入点 呵呵 怎么解?
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1783018

我照写,还是不行
 
function newdll:delphdll cdecl;external 'dll.dll';
怎么调用都报错:无法定位程序输入点newdll于动态链接库dll.dll上
无论我怎样修改这些东西都不通,关键应该是这句话的问题了。后面dll肯定不会写错,newdll是什么东西? delphdll是delphi类,需要和dll的c类名称一样吗?
 
再录C的.h
#ifdef A_EXPORTS
#define A_API __declspec(dllexport)
#else
#define A_API __declspec(dllimport)
#endif

// This class is exported from the acctchk.dll
class A_API Cchk {
public:
int e_pwd(char *s_pwd, char *s_key1, char *s_key2);
int c_chk(char *ps_card_id, char g);
int a_chk(char *ps_acct_id, int e);
Cchk(void);
// TODO: add your methods here.
};

extern A_API int nAchk;

A_API int fnAchk(void);
 
我试过调用dll中的类,是用函数封装的方法,先在dll把类实例化,然后把需要用到的方法,用函数封装起来。再就是在声明导出函数时加入__stdcall声明,这样delphi调用就比较方便些。
 
有没有人解决过呢?
希望能够不用麻烦别人修改接口
 
delphi通过在定义一个包含虚拟方法的类,从而实现dll的对象方法调用
可是我即使把虚拟方法保持和vc++语言中方法顺序一样,还是报错 无法找到程序入口 newdll,从动态连接库.dll中
 
先用dumpbin查看导出的函数名字是是不是正确的,如果是正确的,就只能同过动态调试和反编译试试看
 
dumpbin? 是什么东西呀?
 
用Index 函数顺序号来调用
 
接受答案了.
 
顶部