Delphi 创建封装窗体的 DLL 实例

简介:

    使用了 Dll 动态链接库后,一个应用程序不再是单一的 EXE 文件了,而是由一个 EXE 文件加多个DLL文件组成,这样做的原因是方便以后的维护与更新,也是跨语言开发的办法之一。

    1,打开 Delphi,打开 Dll Wizard,建一个工程,取名 my。
    2,在新建的 Dll 工程里,再新建一个Form。
    3,在新建的Form里uses stdctrls。
    4,在var下面写:
      Procedure sysapp(App:THandle);stdcall;
      Procedure showform;stdcall;
    5,然后在implementation 下面 uses math。
    6,在{$R *.dfm}下面写:
      Procedure sysapp(App:THandle);stdcall;
      Begin
        Application.Handle:=app;
      End;

      Procedure showform;stdcall;
      Begin
        Form1:=Tform1.create(application);
        Form1.show;
      End;
    7,在dll的Library文件里的{$R *.res}下面写:
      exports
      sysapp,
      showform;

    按 Ctrl+F9编译和创建,生成 my.dll 文件。
    到此为止上面完成了DLL封装窗体的创建。

    下面是调用了:

    把你写好的DLL放在本程序的同一目录下。

    1,在要调用DLL文件的工程里 uses math,var 下写:
      Procedure sysapp(App:THandle);stdcall;external 'my.dll’ ;//你的DLL文件名
      Procedure showform;stdcall;external‘my.dll’;//----你的DLL文件名

    2,在你的程序的Button的On Click事件下写:
      sysapp(applicatiln.Handle);
      Showform;













本文转自网眼51CTO博客,原文链接:http://blog.51cto.com/itwatch/392606,如需转载请自行联系原作者

相关文章
|
10天前
|
人工智能 自然语言处理 算法
2026主流AI数字人全栈技术测评盘点:从技术落地到场景赋能
本文盘点2026年主流AI数字人全栈技术,涵盖感知、认知、生成、渲染与交互五大架构,剖析世优科技、阿里云、灵境时空等代表性品牌在政务、文旅、教育等场景的落地实践,揭示多模态大模型、情感化交互、轻量化部署等发展趋势,为行业选型提供权威参考。
|
数据可视化 数据挖掘
基于Bert的文本聚类工具:BERTopic
基于Bert的文本聚类工具:BERTopic
2379 0
基于Bert的文本聚类工具:BERTopic
|
8月前
|
存储 人工智能 数据安全/隐私保护
CodeBuddy实现图片水印添加工具
CodeBuddy 的 AI 编程能力 让电商从业者无需成为技术专家,就能快速开发出功能强大、安全可靠的本地水印工具。AI 不仅能自动实现核心功能,还能根据电商场景特点进行优化,大幅缩短开发周期,降低技术门槛,让你专注于业务价值而非技术实现。
246 6
|
Rust Python
Python 解析 toml 配置文件
Python 解析 toml 配置文件
593 1
|
安全 Oracle Java
Java 中的运算符重载
Java 中的运算符重载
256 19
|
JSON 缓存 API
1688 商品详情数据接口(1688.item_get)
1688商品详情数据接口(1688.item_get)由阿里巴巴提供,旨在帮助开发者获取1688网站上的商品详细信息。开发者需先注册并创建应用获取API凭证,随后申请调用权限。接口通过必填与可选参数组合使用,如app_key、timestamp、fields等,以JSON格式返回商品详情,包括ID、名称、价格、库存等信息。
|
机器学习/深度学习 人工智能 自然语言处理
基于PAI-QuickStart搭建一站式模型训练服务体验
【8月更文挑战第5天】基于PAI-QuickStart搭建一站式模型训练服务体验
424 0
|
JavaScript 前端开发
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
1247 0
|
Linux Docker Windows
windows10&11 启动Docker Desktop报 “Docker Desktop - Unexpected WSL error”
windows10&11 启动Docker Desktop报 “Docker Desktop - Unexpected WSL error”
843 0
|
缓存 自然语言处理 Java
还在为字典值、枚举值校验烦恼吗,不妨试试这个
本文介绍了如何在Java中实现常量值校验的封装,主要包括两个方面:字典值类型的校验和枚举类型的校验。首先,作者提到在进行数据验证时,实体类字段需要添加`@Valid`注解。然后,对于字典值类型的校验,可以通过`@DictVaild`注解检查当前字段值是否在数据库中的字典值类别内,或者与预定义的枚举类中的值相匹配。在进行校验时,可以设置`dictType`参数为`DictType.CODE`或`DictType.LABEL`来分别验证代码值或标签值。
509 0