社区
Delphi
帖子详情
在delphi里怎么调用c的函数
wkliangsdqd
2002-12-04 10:06:08
可否给个例子?
就像vc++调用c的函数那样实现功能.
因为有些功能已经用c语言实现,现在像用delphi调用他们
...全文
17
1
打赏
收藏
在delphi里怎么调用c的函数
可否给个例子? 就像vc++调用c的函数那样实现功能. 因为有些功能已经用c语言实现,现在像用delphi调用他们
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ehom
2002-12-04
打赏
举报
回复
将C语言写的编译为OBJ文件!
进程间
函数
调用
remote-function是一个跨进程通讯库,它可以像
调用
本进程
函数
一样
调用
另外一个进程的
函数
。 remote-function支持
调用
普通
函数
,也支持
调用
类的成员
函数
。 remote-function底层使用命令管道进行通讯,内置的流程完成了
函数
参数和返回值的序列化过程。且大部分的参数和返回值都可以使用内置的(反)序列化方法,对于一些复杂的数据类型,需要自己(反)序列化。 项目首页http://code.google.com/p/remote-function/
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 DLLProc[SysUtils单元的一个Pointer]是DLL的入口。在此你可用你的
函数
替换了它的入口。但你的
函数
必须符合以下要求[其实就是一个回调
函数
]。如下: procedure DllEnterPoint(dwReason: DWORD);far;stdcall; dwReason参数有四种类型: DLL_PROCESS_ATTACH:进程进入时 DLL_PROCESS_DETACH进程退出时 DLL_THREAD_ATTACH 线程进入时 DLL_THREAD_DETACH 线程退出时 在初始化部分写: DLLProc := @DLLEnterPoint; DllEnterPoint(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++中回调
函数
并没有退出,反而得到延伸与 扩展,在面向对像中的回调,其实是指面向对像中类对像的事件,事件就是原始的回调
函数
。面 向对像, 将回调
函数
定义成事件过程,在程序引用对像时,若指定了对像的过程事件后,那么在 要进行事件触发的地方检查事件过程是否分配,如果分中的就执行事,也就是执行了回调
函数
。
极简C语言入门课程
一、C语言自我介绍1、C语言自二十世纪70年代诞生以来,发展到今天2022年,这门开发语言还是强盛不衰,在如今物联网,嵌入行业,对智能控制方面,C语言的应用大放其彩,一些中小企业以它为底层,结合市场特点,开发自己微小独特产品。2、讲师从1996的接触C语言,经历见证过很多的开发语言,从辉煌到衰落过程,比如:以前Foxpro、VB、
delphi
不知有多火,但现在很少有用了,只能在一些老项目还在使用。反观C语言基本上一直占据编程语言排行榜的前5名。3、C语言是面向过程语言,是许多高级计算机语言的基础,C语言通过windows/linux平台下编译的,它执行的速度可以说远远越超其它高级语言。4、课程前第1节到8节,使用动画方式讲课,这样学习起来更形象化,通过动画人物的讲解,把复杂问题简单化,一目了然。5、第9节至第20节,结合了ppt讲解,加入实例代码,加深理解。6、通过学习C语言,让人有一个整体概念,为日后学习其它高级语言打下基础。
delphi
与JavaScript进行交互,获取JS端返回值
Delphi
中
调用
JavaScript方法,并获得返回值,具体看资源
里
的DEMO程序。
delphi
7与lua相互
调用
的例子
delphi
7与lua相互
调用
的例子,基本和法和C
调用
lua差不多
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章