递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1648|回复: 0
打印 上一主题 下一主题

[视窗] 部件动态库-官方这样介绍的

[复制链接]

143

主题

898

帖子

3654

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3654
QQ
跳转到指定楼层
楼主
发表于 2022-7-6 17:31:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
“部件DLL动态链接库”和普通的“DLL动态链接库”没有本质的区别,都是动态链接库。只是前者在编译DLL时会自动生成其火山接口程序,方便他人使用其DLL中的功能,并且由于相关实现代码位于编译后的DLL中,因此安全性是绝对有保证的,可广泛应用于多人协作或闭源项目中。
同时系统在编译部件DLL程序时自动打包生成对应的火山模块,使用方将该模块安装到其火山系统中即可使用其中的功能。
部件DLL中的以下内容会被自动输出到所生成的接口程序中:
(1) 所有公开类及其中的公开成员常量和公开成员方法(不会包含具体功能实现代码)。
以下类不会被输出到所生成的接口程序中(即使满足前面的条件):
(1) 系统类(其所处源文件位于当前所运行火山系统安装目录下的);
(2) 模板基础类,其所有模板实现类将被自动展开后输出;
(3) 启动类;
(4) 窗口组件类;
(5) 所有设置了值为假的“@输出到部件”属性的类(初级用户无需了解)。
以下方法不会被输出到所生成的接口程序中(即使满足前面的条件):
(1) 嵌入式方法;
(2) 虚拟方法;
(3) 类的初始化和清理方法;
(4) 事件接收方法;
(5) 所有设置了值为假的“@输出到部件”属性的方法(初级用户无需了解)。

以下常量不会被输出到所生成的接口程序中(即使满足前面的条件):
(1) 所有设置了值为假的“@输出到部件”属性的常量(初级用户无需了解).
系统在编译部件DLL程序时会自动处理该DLL程序中指定的所有附属文件(通过"视窗.附属文件"属性),并会将其复制到所生成的接口数据目录中(部件DLL项目属性中可进行先关设置)。

4.2 项目创建
通过“文件->新建->项目”菜单,选择“部件动态链接库”进行项目创建。

创建后会有一个启动类和一个自定义的输出类,其中启动类在编译部件时并不会输出到部件中展示。


4.3 代码编写
定义一个测试类,用于测试部件程序输出情况。


4.4 属性设置
使用快捷键“Alt + Enter”打开项目属性。
程序:
此分类下用于设置DLL程序信息,同时也会将其内容自动输出到火山模块配置文件中,用于打包模块使用。
编译:
务必将“编译结果类型”设置为“部件DLL动态链接库”否则将无法编译部件程序,其它设置根据需求调整。
部件DLL编译:
用于设置部件DLL的相关编译信息,通过“自动生成模块安装包”的设置项可以自动打包成火山模块供他人使用。


4.5 编译发布版
部件DLL编译与普通DLL编译流程一样,右键项目选择“编译发布版本”即可。

编译后会输出一些路径信息,其中有DLL输出路径、部件数据路径、模块安装包路径等。

打开部件数据路径会看到火山模块配置文件,以及一个src文件夹,此文件夹内存储有部件程序文件和dll文件。

打开src路径会看到定义的dll文件夹和部件程序文件,在火山中引用部件程序就会自动调用dll中的内容,无需手动编写dll引用代码。

在dll文件夹中,除了存放有dll文件外,还存放有“@视窗.附属文件”所引用的附属文件。


4.6 部件引用
(1) 引用部件和引用普通文件一致,右键项目选择“添加->现有文件/模块”即可。

(2) 部件后缀名为wcv,选择要引用的部件文件即可。

(3) 引用部件后双击可打开查看部件DLL接口,会发现变量和未公开的信息并不会输出到部件DLL接口中。

(4) 引用后就可以在程序中调用部件DLL中的方法。

(5) 部件DLL中的信息框被弹出。


4.7 部件模块
部件dll模块和普通模块使用方式一致,通过“工具->安装模块”菜单就可以进行模块安装。
关于火山模块安装引用卸载操作可以看“支持库差异”中的介绍。

白天不懂夜的黑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-6-16 00:03 , Processed in 0.081168 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表