精易论坛

标题: DLL命令及系统API声明 [打印本页]

作者: hxznhf    时间: 2024-10-5 21:59
标题: DLL命令及系统API声明
对于系统API的声明,在易语言中我们都知道是在DLL命令表填写命令信息和DLL信息,在炫语言中我们同样也有类似的方法。


在代码文件中的全局作用域(不能在类和函数等定义的内部),利用IDE的自动完成和代码片段,只要输入DLL导入表,我们可以快速插入DLL声明模板和帮助信息,根据信息提示补充完善DLL信息即可。


但是重点来了: 由于炫语言是基于C++的, 在C++的Windows SDK中,已经对系统大部分API提供了现成的声明信息, 而且炫语言本身默认也引用了比如"windows.h"这些常用头文件,所以如果我们还是使用DLL导入表功能声明API, 编译器会报重定义等错误, 因为系统头文件已经定义了.  对于这个问题,炫语言提供了一个common.xh文件(创建项目时自动生成), 在这个炫语言专用头文件中, 我们可以声明一些只用于IDE自动完成和语法检查的定义信息( 不仅仅限于API ).  这些声明信息不参与代码编译, 只负责IDE自动完成和语法检查。





当然在炫语言的"基础模块"和"系统API"这两个模块中, 已经对Windows开发常用的API和数据类型进行了收录, 只有当我们遇到没有收录的才使用上面的方法( 入门之后, 其实你也可以选择直接嵌入C++代码, 更直接了当 ).


下面图中演示了一些基础用法,可以参照学习下:




小知识: 当我们涉及到C++开发后,会发现各种各样的数据类型, 千奇百怪 ,而易语言中就那么几种.  对于新手肯定很懵逼,但是这是C++设计的问题,有好处也有坏处, 实际上很多数据类型只是基础类型的别名( 简单理解为开发者为了方便或个性化等等,对原始名自定义)  , 我们在写代码遇到这种情况,可以直接使用C++的类型强制转换(比如xxxx变量是小数类型,  " (整型)xxxx  " 表示强制转换为整型 ) .  当然也不是无脑转换, 像这里的例子是数值类型,如果随意转换会丢失原始数值精度.








作者: 炫彩界面库    时间: 2024-10-7 12:51
数据类型最好 用炫语言提供的类型;
例如: LPCTSTR  改成   常量 字符型*
UINT  改为  正整型




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4