社区
Delphi
帖子详情
activex中如何调用第三方的dll函数?
loveunittesting
2010-05-10 02:04:46
我要做个activex控件,目的是放到网页里,用户通过这个activex控件操作ic卡。而ic卡的操作封装到一个第三方的dll里了。我想知道怎么在activex控件调这个dll,和如何在生成的cab文件里包含这个第三方dll。
第三方的dll放到什么位置,如何操作能让它打包进我的空间里。我用的delphi7.谢谢。
...全文
208
2
打赏
收藏
activex中如何调用第三方的dll函数?
我要做个activex控件,目的是放到网页里,用户通过这个activex控件操作ic卡。而ic卡的操作封装到一个第三方的dll里了。我想知道怎么在activex控件调这个dll,和如何在生成的cab文件里包含这个第三方dll。 第三方的dll放到什么位置,如何操作能让它打包进我的空间里。我用的delphi7.谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
loveunittesting
2010-05-13
打赏
举报
回复
以上基本问题搞定了,能打包了。但是出现了ie崩溃的问题。我调用操作ic卡的dll函数,读取函数没问题,但是写入就造成了ie崩溃。线程模式single,Apartment,both都用过了,还是崩溃,但是数据还是写入了。不知道如何搞定了。有经验的帮忙啊。
sanguomi
2010-05-10
打赏
举报
回复
dll 注册下,然后ACTIVE再调
ABAP
调用
DLL
文件
有时外部程序
调用
SAP 的RFC, 实现与SAP程序的接口, 是以外部程序为主; 现在终于找到以SAP程序为主
调用
外部程序的方法了. 就是SAP 的ABAP语言
调用
DLL
文件
中
的
函数
实现一些功能, 例如可以用
DLL
文件连接外部数据库读取数据. 我在网上找了好久,都没有一个完整的答案, 也没有一个完整的实例, 根据网上的各种说法, 我整合到一起, 终于成功, 原来这么简单
DLL
函数
查看器V2.0
DLL
函数
名查看器,也可查看ocx,exe等PE格式的文件
VB生成标准
DLL
的方法,VB制作标准
DLL
VB生成标准
DLL
的方法,VB制作标准
DLL
VB生成导出
函数
的
DLL
-link源码-蓝夜精灵
VB生成导出
函数
的
DLL
-link源码-蓝夜精灵 VB默认是不可以的
Delphi
中
制作
DLL
中
回调
函数
的应用
Delphi
中
制作
DLL
•一
Dll
的制作一般分为以下几步: 1 在一个
DLL
工程里写一个过程或
函数
2 写一个Exports关键字,在其下写过程的名称。不用写参数和
调用
后缀。 二参数传递 1 参数类型最好与window C++的参数类型一致。不要用DELPHI的数据类型。 2 最好有返回值[即使是一个过程],来报出
调用
成功或失败,或状态。成功或失败的返回值最好为1[成功]或0[失败].一句话,与windows c++兼容。 3 用stdcall声明后缀。 4 最好大小写敏感。 5 无须用far
调用
后缀,那只是为了与windows 16位程序兼容。 三
DLL
的初始化和退出清理[如果需要初始化和退出清理] 1
DLL
Proc[SysUtils单元的一个Pointer]是
DLL
的入口。在此你可用你的
函数
替换了它的入口。但你的
函数
必须符合以下要求[其实就是一个回调
函数
]。如下: procedure
Dll
EnterPoint(dwReason: DWORD);far;stdcall; dwReason参数有四种类型:
DLL
_PROCESS_ATTACH:进程进入时
DLL
_PROCESS_DETACH进程退出时
DLL
_THREAD_ATTACH 线程进入时
DLL
_THREAD_DETACH 线程退出时 在初始化部分写:
DLL
Proc := @
DLL
EnterPoint;
Dll
EnterPoint(
DLL
_PROCESS_ATTACH); 2 如Form上有TdcomConnection组件,就Uses
Activex
,在初始化时写一句CoInitialize (nil); 3 在退出时一定保证DcomConnection.Connected := False,并且数据集已关闭。否则报地址错。 四全局变量的使用 在widnows 32位程序
中
,两个应用程序的地址空间是相互没有联系的。虽然
DLL
在内存
中
是一份, 但变量是在各进程的地址空间
中
,因此你不能借助
dll
的全局变量来达到两个应用程序间的数据 传递,除非你用内存映像文件。 五、其他:
调用
方式按照标准的Windows
调用
方式. 六、关于参数传递 •Delphi程序之间
调用
DLL
,如果要用String类型的话,要在引用的单元加上ShareMem 单元。 •如果Delphi写的
DLL
供其他开发工具使用的话,不要使用String类型,用PAnsiChar类型。 尽量使用标准
DLL
接口。指的是传递的参数类型及
函数
返回类型不能是Delphi特有的, 比如string(AnsiString),以及动态数组和含有这些类型成员的复合类型(如记录),也不 能是包含有这些类型成员数据成员的对象类型,以避免可能的错误。如果使用了string类型或 动态数组类型,且
调用
方不是Delphi程序,则基本上会报错。如果
调用
方是Delphi但
调用
方或 被
调用
方没有在工程文件的第一包含单元不是ShareMem,也可能会出错。 七、关于回调Funciton 你可以把Callback
函数
看作是一种特殊的消息响应
函数
,一般来说我们不会自己
调用
这种
函数
, 而是有某些系统
函数
调用
,而且不需要向后传递消息。 只要象C/C++这样支持
函数
指针的语言都 有回调
函数
的概念,它实际上是向被
调用
函数
传一个你的
函数
地址,然后被
调用
函数
向通过你传 入的
函数
地址来
调用
你的
函数
。 以上是结构化回调,到高级语言Object Pascal、C++
中
回调
函数
并没有退出,反而得到延伸与 扩展,在面向对像
中
的回调,其实是指面向对像
中
类对像的事件,事件就是原始的回调
函数
。面 向对像, 将回调
函数
定义成事件过程,在程序引用对像时,若指定了对像的过程事件后,那么在 要进行事件触发的地方检查事件过程是否分配,如果分
中
的就执行事,也就是执行了回调
函数
。
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章