关于定义过程的问题(50分)

  • 主题发起人 主题发起人 yixiao3796
  • 开始时间 开始时间
Y

yixiao3796

Unregistered / Unconfirmed
GUEST, unregistred user!
一个动态调用的DLL里有这么一个申明:void hex_a(unsigned char *hex,unsigned char *a,__int16 len)
功 能:字符串转换函数,十六进制字符转换成普通字符。
参 数:hex:要转换的字符
a :转换后的字符
len:字符hex的长度
这个怎么用于DELPHI中,在DELPHI中怎么来定义这个过程?请赐教。
 
procedure hex_a(pchar hex;pchar a,integer len);
 
to:lmcyx
后面怎么来说明它是调用DLL的
 
procedure hex_a(pchar hex;pchar a,integer len);stdcall;

要是把这个过程写在DLL中,如上
否则不用
 
别瞎说
void hex_a(unsigned char *hex,unsigned char *a,__int16 len)
C的函数能用procedure .....来定义调用呀?
我不知道怎么调用C的函数和过程;不过我可以写一个让C能调用;
还有你既然用Delphi,用就Delphi写个Dll里面放个字符串转换的函数不就OK了!
 
procedure hex_a(pchar hex;pchar a,integer len);stdcall;
还需要进行声明:
function hex_a;external 动态库名称 name 'hex_a';
 
这个过程来自DLL
 
TO:清新空气
你说的对,这个是C++的一个函数,是写在一个DLL里面的,DELPHI里面能使用吗?》
 
因为这个里面涉及到类型的问题!
字符串
C用的是Char
Delphi一般用的是string
所以你即使要调用也要传个char进去!
 
你可以参照如下方式进行:
unit DLL_Unit;

interface
uses Windows,Winsock;

procedure hex_a(pchar hex;pchar a,integer len);stdcall;

implementation
function hex_a;external 动态库名称 name 'hex_a';
end.
 
对 问题就是现在怎么调用的 怎么来说明它来自那个DLL
 
晕,你是问如何调用这个函数啊

procedure hex_a(pchar hex;pchar a,integer len);stdcall;external 'dll path name';
 
to yixiao3796
你可以先试试lmxcyx方法;
 
procedure a_hex(a:pchar;hex:pchar; len:smallint);stdcall;external 'dcrf32.dll' name 'a_hex';这样不行
谢谢大家 但是好象都没用 我不知道哪出错了
 
to yixiao3796
你把你的那个Dll发给我!
我试试,给你写一个例子!我的QQ76431082
 
谢谢大家 但是好象都没用 我不知道哪出错了

我想知道的是
1.这个函数在DLL的声明是怎么声明的??? 是STDCALL还是其他 因为从你的主题贴中无法看出来

2.是编译错误,还是运行错误,首先请解决问题1
 
出现什么错误,请说明,还有Dll必须与定义动态库在同意目录下
 
这个是一个读卡器中的程序,没设备估计没发操作程序 有兴趣的大家可以去www.dqzc.net/Z8.rar把整个程序下载下来看看,里面有个C的DEMO,我现在要的是一个功能全的DELPHI的DEMO,如果能搞定的联系我一下QQ:394915230
XIE
 
谢谢大家 大家都很热情
 
后退
顶部