首页 相关文章 对使用Delphi制作DLL复用文件的建议

对使用Delphi制作DLL复用文件的建议

对使用Delphi制作DLL复用文件的建议
  
在公司里有一些需要制作DLL的场合,因为熟悉、方便和简易,大多数使用Delphi来制作。现在就这个主题提出一些个人建议。
  
  尽量使用标准DLL接口。指的是传递的参数类型及函数返回类型不能是Delphi特有的,比如string(AnsiString),以及动态数组和含有这些类型成员的复合类型(如记录),也不能是包含有这些类型成员数据成员的对象类型,以避免可能的错误。如果使用了string类型或动态数组类型,且调用方不是Delphi程序,则基本上会报错。如果调用方是Delphi但调用方或被调用方没有在工程文件的第一包含单元不是ShareMem,也可能会出错。
  
  如果调用方是Delphi应用程序,则可能可以使用不包含禁止类型(string, 动态数组)数据成员的对象作为参数或返回值,但也应尽量避免。
  
  如果调用方与被调用方都是Delphi程序,而且要使用string或动态数组作参数,则双方工程文件的第一包含单元必须是ShareMem。(C++Builder程序的情况可能与此相同,不过没有测试过。)
  
  如果调用方不是Delphi程...[ 查看全文 ]

2016-02-19 标签:
  • 标签:Delphi
      一 Dll的制作一般步骤 二 参数传递 三 DLL的初始化和退出清理[如果需要初始化和退出清理] 四 全局变量的使用 五 调用静态载入 六 调用动态载入 七 在DLL建立一个TForM 八 在DLL中建立一个TMDIChildForM 九 示例: 十 Delphi制作的Dll与其他语言的混合编程中常遇问题: 十一 相关资料 一 Dll的制作一般分为以下几步: 1 .在一个DLL工程里写一个...[ 查看全文 ]
  • 标签:Delphi
      Delphi不仅可调用C++产生的DLL模块,同样C++程序也可调用Delphi所产生的DLL部件。这样交互调用,无须重复开发,大大缩短了生产周期。…… Delphi与VisualBasic、VisualFoxPro等软件一样,属于RAD工具(快速应用开发工具)。适合开发32位或16位/32位混合应用程序。Delphi所使用的程序语言是ObjectPascal,是结构化、面向对象的编译型语言,具有高执行效率、可重用性、易维护性,...[ 查看全文 ]
  • 目的,在Delphi中使用资源文件 本例是将一个Flash动画加到我的们程序中,在程序启动时再释放出来. 先新建一个文件文件 写入内容:另存为:SwfFile.rc 然后用 brcc32.exe 生成资源文件.res 然后在Delphi中加入一行(最后一行) implementation {$R *.dfm} {$R SwfFile.RES}//就是这行 procedure FlashResToFile(const ResName, ResType, FileName: string); ...[ 查看全文 ]
  • 标签:Delphi
        一.DLL 库内存共享机制   从使用效果看,DLL和unit 很像,它们都可以被别的工程模块所调用,但二者在内部的实现机制上确存在着差别。如果一个程序模块中用uses语句引用了某个unit,编译程序在编译该模块时,便会连同unit一起编译,并把编译后的可执行代码链接到本程序模块中,这就是一个程序模块能够调用所引用unit中过程和函数的原因。   当同一个unit被多个工程所引用时,则每个...[ 查看全文 ]
  • 标签:ASP
      没有人会在没有必要的情况下采用更加麻烦的方法来工作,除非是没有选择的余地。所以如果我要告诉你有一种简单的技术可以使你的ASP开发更加快速,并且更加高效率,你一定对此特别感兴趣。这一方法将从你的ASP页中的绝大部分business logic转移到一个Visual Basic ActiveX .dll以达到提高整个网页的性能。 使用ActiveX .dll的原因   在Visual Basic中建立一个.dll文件实际上是一个ActiveX对象。...[ 查看全文 ]
  • 标签:Delphi
      资源是存放在扩展名.RES的文件里的二进制数据结构,在DELPHI中资源文件可以使用图象编辑器来制作(IMAGEEDITOR),或者使用其他的工具。如:BORLAND公司提供的RADPACKFORDELPHI中的RESOURCEWORKSHOP来创建。资源文件中通常存放的是应用程序可以随时存取的一些对象,包括:ICON、CURSOR、BITMAP、FONT等近十种。大部分的资源在通常的情况下可以保留在磁盘当中,直到程序需要使用它们时才将其调入,...[ 查看全文 ]
  • 第一步:在电脑桌面找到开始,打开运行。 第二步:在运行命令行里输入regedit,确定。 第三步:显示注册编辑器,找到HKKEY_LOCAL_MACHINE。 第四步:再将SOFTWARE--Microsoft打开。 第五步:继续将CurrentVersion--Explorer打开。 第六步:将AlwaysUnloadDLL打开,在右边把默认双...[ 查看全文 ]
  • 电脑用时间久了,经常会遇到这样的问题,当你打开某个程序,突然会弹出一个提示窗口,说程序中某个dll文件丢失或损坏,无法正常运行。碰到这种情况怎么办呢? 其实这时候我们可以试着去网上下载相同的dTulaoshi.comll文件,说不定可以解决了,下面是给大家推荐一个不错的下载网,大家可以去试试。 首先登录下载网站(http//:dll.ylmf.net)后在搜索框中直接输入丢失的dll文件全称,点击搜索便可...[ 查看全文 ]
  • 下截JNative组件 jnative.sourceforge.net/ 到这里下载JNative开源项目,我下载的是1.3.2 解压JNative-st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899"1.3.2/st1:chsdate.zip 获得三个文件,分别是:JNativeCpp.dll,libJNativeCpp.so,JNative.jar 。 JNativeCpp.dll Windows下用的,拷贝到windows / system32目录下; libJNativeCpp.so Linux下的,拷贝到系统目...[ 查看全文 ]
  •   作者:e梦缘 好久发表文章了!!! 调用DLL文件中的FORM,具体实现过程如下: library Project1;uses SysUtils, Classes,Forms,windows,dialogs, Unit1 in 'Unit1.pas' {Form1};{$R *.res}function showform(formname:string):boolean;stdcall;var TheClass: TPersistentClass; aForm: TForm;begin result:=false; {如果您的Dll中有很多FORM,请在这儿注册哦 ...[ 查看全文 ]
  • 标签:Delphi
      昨天敲了半天才出来的,想组成一个系列.供新手学习一下!(虽说我也是新手^_^) Delphi单元文件 1.库单元文件头:其中声明了库单元的名字. 2.Interface部分:   由保留字interface开始,结束于保留字implementation,它用来声明引用的单元,常量,数据类型,变量,过程和函数.在Interface部分声明的变量,常量,数据类型,过程,函数都可以供外部引用,对整个程序而言是共有的.也就是说,对于所有引用...[ 查看全文 ]
  • 在以前用 Delphi 开发的项目中,会经常用到TChart这个画图控件,它本身很强大,支持各类图,如点线图,柏拉图,柱状图等等,加上可以输出成BMP,JPEG,JPG,SVG,GIF等各种格式图片,很好用,当时也封装成比较独立的 DLL文件 。这次开发.NET程序正好派上用场。 几个关键技术点: 1 C#要以非托管方式调用DLL 2 C#把整理好的画图数据生成事先定义好格式的XML文件,传给DLL 3 DLL解析...[ 查看全文 ]
  • c++中.dll与.lib文件的生成与使用的详解 -------------------------------------------------------------------------------- 两种库: • 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。 • 包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。 共有...[ 查看全文 ]
  • 标签:Delphi
      根据Delphi提供的有关 DLL编写和调用的帮助信息,你可以很快完成一般的 DLL编写和调用的 应用程序。本文介绍的主题是如何编写和调用能够传递各种参数(包括对象实例)的 DLL。例如, 主叫程序传递给 DLL一个ADOConnection 对象示例作为参数, DLL中的函数和过程调用通过该对象 实例访问数据库。 需要明确一些基本概念。对于 DLL,需要在主程序中包含 exports子句,用于向外界提供...[ 查看全文 ]
  • SQL Server Compact是一种In-Process数据库引擎,它由多个DLL文件构成,下面就以SQL Server Compact 3.5为例子简单介绍一下每个DLL文件的作用。 sqlceca35.dll SQL Server Compact的客户端代理,客户端代理与服务端代理进行通信,实现RDA和Merge Replication数据同步。 sqlcecompact35.dll SQL Server Compact数据库修复工具。 sqlceer35EN.dll SQL Server Compact本机错...[ 查看全文 ]
  • 标签:ASP
           在ASP文件中调用DLL   作者:陈敏杰    动态联接库(DLL)是加快应用程序关键部分的执行速度的重要方法,但有一点恐怕大部分人都不知道,那就是在ASP文件也能通过调用DLL来加快服务器的执行速度,下面我简单的介绍一下在ASP文件调用DLL的步骤。    首先,必须得有DLL文件,本例是通过VB5.0创建ActiveX DLL文件,这个文件模拟...[ 查看全文 ]
  • 标签:Delphi
      文件关联为我们带来很多的方便。Delphi自带有注册表对象TRegistry,可以通过它取得或改变注册表相关键值的内容。 Function GetAssociatedExec(FileExt: String; var FileDescription, MIMEType: String): String; Var Reg: TRegistry; FileType: String; begin Result := ′′;{函数返回值是打开FileExt文件的可执行程序的名字及其参数} Reg := TRegistry...[ 查看全文 ]
  • 标签:Delphi
      隐藏和显示Windows的任务条 如果隐藏和显示Windows的任务条,仅仅调用以下的函数就可以: procedure hideTaskbar; //隐藏 var wndHandle : THandle; wndClass : array[0..50] of Char; begin StrPCopy(@wndClass[0], ′Shell—TrayWnd′); wndHandle:=FindWindow(@wndClass[0],nil); ShowWindow(wndHandle, SW—HIDE); End; procedure showT...[ 查看全文 ]
  • 标签:电脑入门
    wldlog.dll文件是系统的重要文件,它是在电脑按章系统之后自动创建在系统文件夹上面,该文件的正常对系统起到作用至关重要。 如果出现wldlog.dll文件丢失怎么解决呢? 可以通过一些修复软件来进行修复系统文件wldlog.dll文件,当然图老师小编觉得重新下载wldlog.dll文件,然后将其下载完成后拷贝到系统磁盘的文件夹c:windowssystem32目录下,这样即可恢找回wldlog.dll文件,让电脑恢复正常工作。 [ 查看全文 ]
  • 产后保健选对月子食物 对于刚生完宝贝的产妇饮食调理尤为重要,这样可以帮助身体尽快康复,分泌更多的奶水。 1.常吃海带菜 海带菜具有利水消肿、收缩子宫、镇定神经的功效,可以帮助子宫剥离面尽快减少出血,避免产后发生抑郁情绪。 2.总喝骨头汤 骨头汤中不仅富含人体容易吸收的蛋白质、钙质及维生素,且因味道鲜美还可以增进你的食欲,使奶水分泌得更多。 3.把玉米须当...[ 查看全文 ]
手机页面 收藏网站 回到头部