疯猪
发表于 2008-6-26 08:31:45
如何翻译.h直接封装dll
求教
无心人
发表于 2008-6-26 09:47:29
你下载的目录有win32api 目录
里面两个问题件
hugecalc.c
hugecalc.h
对照hugecalc.h和hugecalc.c
HHUGEINT HI_generatePrime( HHUGEINT hHugeInt, const UINT32 u32Bits );
你这么写
function HI_generatePrime(HHUGEINT hHugeInt, const UINT32 u32DecDigits): HHUGEINT; stdcall; external 'hugecalc.dll';
这时,缺少个UINT32的定义
type
UINT32 = integer;
HHUGEINT = ^integer;
然后把需要的#define转换成const定义
再编译,肯定缺少一堆定义,你再想法子一个个照上面的转化
疯猪
发表于 2008-6-26 17:08:28
谢谢,努力进行中
无心人
发表于 2008-6-26 17:20:06
:loveliness:
呵呵,工作量很大哦
疯猪
发表于 2008-6-26 17:30:38
还是不懂,烦恼
疯猪
发表于 2008-6-26 17:32:02
就没有办法简单调用吗?越简单越好
无心人
发表于 2008-6-26 17:37:05
应该是最简单的了
gxqcn
发表于 2008-6-26 21:41:13
帮楼主搜到一篇文章:计算机世界网-Delphi中如何调用VC++创建的动态链接库
里面有在Delphi中调用VC++创建的动态链接库的实例,包括隐式调用和显式调用,
而HugeCalc.dll已包含类似该文MaxMin.DLL的导出接口方式,楼主完全可以自己参照之进行。
(虽然,我一直认为用tlb会更简化操作流程,可惜你,:L )
如果你仍无法成功,那我实在无话可说了。
无心人
发表于 2008-6-26 21:45:36
TLB是调ActiveX的方法
但ActiveX会涉及到很多OLE数据转化
而且最终还要调用DLL
还不如直接调DLL
gxqcn
发表于 2008-6-26 21:52:23
先撇开运行效率不讲,
TLB无须用户再写声明等,导入成本非常低,
即对编程者要求门槛很低。