首页 > 其他分享 >DELPHI DLL的创建与调用.

DELPHI DLL的创建与调用.

时间:2024-04-03 23:24:05浏览次数:20  
标签:调用 AnsiString ChnToPY DELPHI Vcl DLL 声明

一.创建一个DLL项目

 

二.把验证过没有问题的函数写到DLL项目中

 三.生成DLL

 拿到了DLL

 四.调用DLL

通常DLL调用的声明语句都会写在 implementation之上或者之下,区别是作用域不同.唯一的要求是:声明语句必须要在调用语句之前!!!

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Edit1Change(Sender: TObject);
  private
    { Private declarations }
    {调用DLL的声明不可以写在窗体类内}
  public
    { Public declarations }
    {调用DLL的声明不可以写在窗体类内}
  end;
   {调用DLL的声明必声明在调用位置之前}

var
  Form1: TForm1;

implementation

function ChnToPY(Value: AnsiString): AnsiString; stdcall; external '首字母.dll';   //调用声明,DLL与程序在同一目录
{function ChnToPY(Value: AnsiString): AnsiString; stdcall; external 'B\首字母.dll';}   //调用声明,DLL在与程序同级的B文件夹下
{function ChnToPY(Value: AnsiString): AnsiString; stdcall; external '..\B\首字母.dll';}   //调用声明,DLL在程序上一级文件夹的B文件夹下
{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
begin
  Edit2.Text := ChnToPY(Edit1.Text);     //调用DLL函数
end;

end.

 

标签:调用,AnsiString,ChnToPY,DELPHI,Vcl,DLL,声明
From: https://www.cnblogs.com/yoooos/p/18113697

相关文章

  • defer 延迟调用【GO 基础】
    〇、前言在Go语言中,defer是一种用于延迟调用的关键字。defer在Go语言中的地位非常重要,它是确保资源正确释放和程序健壮性的关键字。本文将通过示例对其进行专门的详解。一、defer简介defer的主要用途是在函数执行完毕之前,确保某个操作被执行。通常用于:资源的释放管......
  • 函数的递归调用(零基础理解递归)
    目录一.什么是递归二.递归的限制条件三.递归的举例四.递归与迭代正文开始一.什么是递归什么是递归?递归是c语言学习中一个绕不开的话题,那什么是递归呢?递归其实就是一种解决问题的方法,在c语言中,递归就是函数自己调自己.写一个史上最简单的C语言递归......
  • Python函数(一):函数的声明、调用以及参数的使用
    目录为何要用到函数函数的定义和调用函数的参数参数的传递参数的类型 return语句为何要用到函数通常我们编写一段代码是为了实现特定的功能,比如想得到一段数字序列中的最大值、最小值和平均值并输出一个字典,编写一段代码如下:num=[96,85,69,82,52,99,72]m......
  • 【进来一起刷Java题】Java中使用空对象引用调用静态方法的奇特现象 附题目+解析 | ((Te
    目录一、题目二、解析三、答案:一、题目有关下述Java代码描述正确的选项是____。答案直接点目录里的跳转。publicclassTestClass{  privatestaticvoidtestMethod(){    System.out.println("testMethod");  }  publicstaticvoidmain(Str......
  • vcruntime140.dll没有被指定在windows上运行
    在计算机使用过程中,我们常常会遇到一些错误提示或程序崩溃的情况。其中,vcruntime140.dll是一个重要的动态链接库文件,它对于Windows系统的正常运行起着至关重要的作用。本文将详细介绍vcruntime140.dll文件的属性以及其丢失对Windows系统的影响,和最重要的vcruntime140.dll丢失的......
  • python中的可执行/调用对象有哪些?
        本文探讨一下pyhton中可执行/调用的对象有哪些?    大家首先想到的是函数/方法,但除了函数/方法之外,还有其他的对象是可执行/调用的,大家都了解吗?任何一个可执行对象都有一个codeobject,它是一个字节码序列,python虚拟机解释执行的就是字节码。    可......
  • ImportError: DLL load failed while importing _cext: 找不到指定的模块
    网上搜索说,这个错误表明Python在尝试导入名为_cext的扩展模块时失败了,这通常是因为它依赖的某些动态链接库(DLL)文件无法被正确加载。这可能是因为相应的DLL文件不存在于预期的位置,或者系统缺少运行该DLL所必需的其他依赖项。在一个帖子中看到通过pipinstallmsvc-runtime可以即......
  • 记录解决QT环境变量、qwt环境搭建、cannot load QT5core.dll错误、TreeWidget与TabWid
    一、配置QT环境变量:依次打开:设置->系统->关于->高级系统设置->环境变量->系统变量(s)->Path->编辑,将QT安装目录中以下文件路径复制粘贴至Path中:D:\BaiDuWangPan\SoftWare\QT_551\5.5\mingw492_32\binD:\BaiDuWangPan\SoftWare\QT_551\Tools\mingw492_32\bin相关解决方法可借鉴......
  • (保姆级)webserver的创建、部署、调用(使用.net core web+.net core Api+Linxu实现)
    ​版本为Vs2022框架.net6一、webserver的创建参考链接:netcore建立webservice项目_.netcorewebservice-CSDN博客该参考链接作者使用的是.net5,这边是.net6在框架上还是有点小区别的1、使用.netcoreweb创建web服务 2、通过NuGet安装SoapCore 3、创建业务服务文......
  • Vue日期选择器里面进行disabledDate(time)进行调用
    题主首先参照别人的写法,写在里面,但是发现disabledDate一直是灰色调用不成功,后来进行别的参考pickerOptions:{disabledDate(time){returntime.getTime()<Date.now()-8.64e7;//如果没有后面的-8.64e7就是不可以选择今天的},}, ......