火山软件开发平台

标题: 关于火山pc的系统api调用的非常混乱 [打印本页]

作者: 路亦洲    时间: 2023-1-29 21:55
标题: 关于火山pc的系统api调用的非常混乱
根据官方文档,系统api调用,参数全部是变整数型,返回值也是,这个非常混乱,不像易语言很清晰,文本型可以勾选传址。官方文档还自吹非常灵活,我感觉很无语。希望能改进!

作者: 路亦洲    时间: 2023-1-29 21:59
按照官方的说明,传递一个文本型参数,需要将文本型转换成字节集类,然后再把这个字节变量的指针传递进去,官方就不能像易语言一个,ide里自行判断,文本型的ide自行处理传递指针吗?搞这么麻烦?!!!!!
作者: 折戟沉沙    时间: 2023-1-29 22:38
取文本指针() 传过去不就得了,怎么还需要转字节集类?
作者: 创世魂    时间: 2023-1-29 22:46
因为火山的类型是包装类型啊,不统一,不通用。和易语言的不一样。

这个要处理当然也能了。。让吴总升级编译器处理一下输出结果。
作者: shuimiao    时间: 2023-1-30 15:34
文本就取文本指针(),字节集就取字节集指针(),其它取变量地址()这个也很简单。

当然,如果吴总升级支持自动对文本型进行传址那就好了。对api中的文本型,如果勾选了传址,内部自动取文本指针,如果没勾选就内部自动拷贝一份文本传址。
作者: 路亦洲    时间: 2023-1-30 16:17
大多数网友都是从易语言过来的,易语言有的优点,还是希望火山平台传承。中文编程,就是要降低门槛吗,怎么方便怎么来就对了
作者: Xelloss0618    时间: 2023-1-30 23:13
易语言的DLL表格内部有很多简单易用的封装,如果拿火山来对标的话,其实用表格声明之后,还需要二次封装一下才好用。
火山不把表格DLL做得更简单大概有几个原因,第一就是火山更推荐你用嵌入C++语句,这个比表格灵活多了。第二就是多封装一层就多一些开销,玩C++的对程序的效率很看重

另外说一下,DLL表格用文本型,本来就是传址(参考),但你必须用“置文本长度”之类的方法给文本分配足够的字符长度,DLL表格用文本型的槽点我觉得只有一个,就是不能传0指针
作者: 路亦洲    时间: 2023-1-30 23:35
Xelloss0618 发表于 2023-1-30 23:13
易语言的DLL表格内部有很多简单易用的封装,如果拿火山来对标的话,其实用表格声明之后,还需要二次封装一 ...

这么说不懂C++还用不了系统api了?我想放弃了。易语言,我独立开发一个软件没有问题,一到这,问题一大堆
作者: Xelloss0618    时间: 2023-1-31 09:49
路亦洲 发表于 2023-1-30 23:35
这么说不懂C++还用不了系统api了?我想放弃了。易语言,我独立开发一个软件没有问题,一到这,问题一大堆 ...

系统API是纯C,使用很简单,不涉及多少语法,主要就是内存分配与释放。
除了某些特别复杂的API,其他看几个例子就行了。
火山的库基本上是源码,是很好的学习案例。

如果要用DLL表格,那其实大部分简单API也是没问题的,像我上面说的,你用文本型必须自行分配长度
作者: 福寿    时间: 2023-1-31 10:16
看来易语言你也没领悟,文本型和字节集是默认传址,打钩传址也是多余的
作者: qaz2428119    时间: 2023-1-31 10:25
路亦洲 发表于 2023-1-30 16:17
大多数网友都是从易语言过来的,易语言有的优点,还是希望火山平台传承。中文编程,就是要降低门槛吗,怎么 ...

火山和易语言有本质上的区别,E的文本型就是一段连续内存存放文本,而火山的文本型,他是类,非连续的,有单独的一段内存存放文本数据




欢迎光临 火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4