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++中回调函数并没有退出,反而得到延伸与 扩展,在面向对像中的回调,其实是指面向对像中类对像的事件,事件就是原始的回调函数。面 向对像, 将回调函数定义成事件过程,在程序引用对像时,若指定了对像的过程事件后,那么在 要进行事件触发的地方检查事件过程是否分配,如果分中的就执行事,也就是执行了回调函数。
2023-12-12 19:25:07 22KB
1
parasolid内核PK函数 lib 库文件 + 入门教程
2023-12-09 20:59:46 512.59MB
1
VB GDi+ 反锯齿画园角矩形函数,调整参数可以画出很多形状光滑园角矩形
2023-12-09 13:32:40 7KB 园角矩形
1
本资源包下载后可以得到两本电子书:《C/C++ 语言参考.chm》和《C语言函数大全(语法着色版).chm》。《C/C++ 语言参考.chm》内容预览: 基本C/C++ ------------------------- 预处理命令 操作符优先级 转义字符 ASCII码表 基本数据类型 关键字 标准 C 库: Standard C I/O Standard C String & Character Standard C Math Standard C Time & Date Standard C Memory Other standard C functions C++ ----------------------------- C++ I/O C++ Strings C++ 标准模板库 C++ Bitsets C++ Double-Ended Queues C++ Lists C++ Maps C++ Multimaps C++ Multisets C++ Priority Queues C++ Queues C++ Sets C++ Stacks C++ Vectors Iterators 《C语言函数大全(语法着色版).chm》内容介绍: C语言函数大全,已包含绝大部分的函数。每个函数包含函数名,功能,用法,举例,内容详尽。
2023-12-09 08:01:27 287KB c/c++ c++函数
1
在本文中,我们考虑<math> T T ¯ / < mi> J T </ math> $$ T \ overline {T} / J \ overline {T} $ $变形的CFT作为扰动理论并计算由于<math> T T ¯ / J T ¯ </ math> $$ T \ overline {T} / J \ overline {T} $$变形。 适用
2023-12-08 10:57:52 777KB Open Access
1
主要介绍了JavaScript中exec函数用法,较为详细的分析了javascript中exec函数的功能、定义及使用方法,需要的朋友可以参考下
2023-12-08 00:54:27 38KB JavaScript exec函数
1
我们研究了Ω变形N = 2 * $$ \ mathcal {N} = {2} ^ {\ ast} $$ SU(2)规范理论的低能效作用。 它取决于变形参数ϵ 1,ϵ 2,标量场期望值a和超多重质量m。 我们探索平面m ϵ 1 ϵ 2 ϵ 1 $$ \ left(\ frac {m} {\ upepsilon_1},\ frac {\ upepsilon_2} {\ upepsilon_1} \ right)$$寻找多实例的特殊功能 由Nekrasov-Shatashvili极限ϵ 2→0中发生的事情引起的对势能的贡献。我们对k -stantanton势能极的结构提出了一个简单条件,并证明了在k-stantonton势能极点集上是可容许的 在飞机上。 在这些特殊点,势能在独立于瞬时数的固定位置上具有极点。 除此之外,值得注意的是,瞬时量分配函数和包括摄动贡献在内的全等位势都可以封闭形式给出,作为标量期望值a和模数参数q的函数,该函数出现在爱森斯坦级数和Dedekindη函数的特殊组合中。 作为副产品,可以在这些点上按所有顺序测试模块化异常方程。 我们从AGT对应的角度讨论了这些特殊功能,
2023-12-07 23:08:57 536KB Open Access
1
网上下载的,已经修改好,可用于Delphi 2010 包含两个文件,一个iphlpapi.pas,用来包装 iphlpapi的windwos sdk接口,一个iphelper.pas 有很多有用的辅助函数
2023-12-07 22:35:39 10KB iphelper iphlpapi delphi pascal
1
我们回顾了齐默尔曼的森林公式,该公式解决了Bogoliubov的递归R运算,用于减去扰动量子场理论中的紫外线发散。 我们进一步讨论了R-运算的一般化,除了紫外线以外,还减去了欧几里德红外散度。 这种归纳为R⁎-运算的名称,可以有效地用于计算重归一化常数。 我们将讨论通过这种方法获得的一些结果,重点是在五个循环处的QCD beta函数以及在N 4 LO时强子希格斯玻色子衰变率的应用。 本文总结了沃尔夫哈特·齐默尔曼纪念研讨会上的演讲。
2023-12-07 09:58:24 428KB Open Access
1
STM32F10xxx_Reference_Manual_Chinese2硬件参考手册
2023-12-05 22:36:50 15KB 参考手册
1