精易论坛

标题: 易语言编程常见错误 - [入门篇] [打印本页]

作者: 项目部002    时间: 2019-4-20 10:59
标题: 易语言编程常见错误 - [入门篇]





常见错误:001
症状:封装了一个模块编译出来加载后没有命令

病因:未将定义好的方法名公开
治标:将所有方法名后面的公开表格单击
治本:定义好的方法在模块源码或程序源码内可以无需公开即刻调用,但编译出去的易语言模块文件不公开则一般情况下是无法调用的。




常见错误:002
症状:调用一个自己编译的xx.DLL时提示xx.DLL不存在

病因:未将自己编译的xx.DLL放置在主程序同路径
治标:将自己编译的xx.dll放到主程序相同文件夹里
治本:将DLL放到主程序同目录只针对与没有在定义DLL设置相对路径的文件,如果如要将DLL放置到指定的同根目录下的二级目录则需要在定义DLL方法的时候设置相对路径。




常见错误:003
症状:封装了一个类模块,调用定义的方法时易语言不显示

病因:未公开封装类模块的方法
治标:公开封装类模块的方法
治本:类模块中的方法不同于子程序方法,即使在同模块源码或同程序源码中,不公开则无法调用,但同类模块中的方法可以相同调用。公开的问题也与001中提到的有重合,如果编译出去的易语言模块中定义了一个类模块但没公开,易语言加载模块之后也是无法调用这个类模块任何命令的;




常见错误:004
病症:调用一个模块命令的时候提示参数类型错误但双击该模块查看命令参数显示又是正常的

病因:此类问题一般出现在两种情况下
1、引用多个模块,多个模块中有相同名称的命令但参数不一致(新手篇提到的)
2、引用了模块之后又在程序源码中定义了一个相同名称但参数不一致的命令
治标:调整模块的引用顺序,将实际用的模块调整到前面;删除模块或改名程序源码中定义的命令。
治本:写程序尽量少使用三方模块,如非特别需要只调用“精易模块”即可满足大部分需求,因为较多的三方模块是基于开源的“精易模块”二次编译的,而这些发布三方模块的作者偷懒不修改命令名称只修改参数就发布出来,用户调用多个基于“精易模块”二次编译的模块时便会出现004这样的错误;在程序源码中定义命令名称时须避免和某个模块的名称或支持库命令重复。




常见错误:005
症状:定义了变量名,但调试或编译是提示xx变量xx类型不能转换为xx类型

病因:自定义数据类型的变量直接给变量赋值
治标:赋值相同类型的变量类型即可
治本:易语言自定义数据类型的变量,不能直接赋值非同类型的变量值,一般是赋值给自定义数据变量的成员。取值相较赋值更需要注意,取出自定义数据变量的成员值时需要声明是取出哪个成员的值,直接取自定义数据变量的值是无实际用处的。


常见错误:006
症状:调试代码都没问题,编译出来就不能执行或实现预期的效果

病因:再某些关键代码行调用了“输出调试文本”或“调试输出”命令
治标:删除“输出调试文本”或“调试输出”命令,保留正常代码。
治本:“输出调试文本”与“调试输出”仅在易程序的调试版本中被执行,在发布版本中将被直接跳过,换句话就是编译出去的程序中,凡是调用了这两个命令的代码行不再执行其代码。调试程序输出参数或者结果的时候尽量以变量方式调试,避免直接调试输出关键代码行的结果。




常见错误:007
症状:提示不能将xx变量转换为xx数组型数据

病因:xx变量为数组类型的变量,但定义的时候没有设置数组数量
治标:如果不知道返回的数组有多少数组成员的时候,直接将数组型变量的数量设置为0
治本:不设置数组数量的变量可看着为一个单成员数据,只能返回一个数据,数组可以返回多个相同类型的数据;子程序一般只能通过参考方式返回数组型变量数据,支持库部分命令可以直接返回数组型变量数据,“加入成员”命令中“欲加入成员的数组变量”为数组型变量,“欲加入的成员数据”为单数据变量。




常见错误:008
症状:错误信息:数组成员引用下标超出定义范围

病因:取数组成员数据时超出了现有数组变量中的成员数量
治标:取数组成员数据前调用“取数组成员数”判断要取出的成员索引是否大于现有数组变量中的成员数量
治本:取出数组型变量的成员变量时注意数组的成员数量,再动态取成员值时尤为注意,务必在取值前调用“取数组成员数”判断当前的数组成员数,避免程序运行中途数组取成员值时因为索引超过数组总成员数报错而停止或结束运行。


常见错误:009
症状:定义了一个子程序,调用时返回数据不正常

病因:子程序返回数据逻辑错误
治标:去掉中间的含有“返回”命令的代码行
治本:子程序返回数据,一般在没有逻辑判断的情况下只需一个“返回”命令,但在有逻辑判断的子程序中,逻辑判断的真或者假的分支都需要有返回命令,出现多个逻辑判断的代码段以实际需要在必要分支中调用“返回”


常见错误:010
症状:没有传值但“是否为空”命令返回为假

病因:不熟悉“是否为空”真正的含义
治标:移除传入的变量
治本:易语言“是否为空”指的是这个参数是否有变量传入而不是是否有值传入,即使传入没有赋值的变量,“是否为空”也会返回假。只要传入了变量“是否为空”这个命令基本无用了,稳妥的方式是子程序中单独判断传入的参数值是否为空
,这样无聊是否传入了变量还是无值变量均可以判断传入的参数的状态。




未完待添加(本文中有不对或需要补充的地方,希望大家不要吝啬,指出不对或需要补充的部分,谢谢大家)
小节:善用F1,在易语言IDE代码编辑区哪里不懂,鼠标点到那里再按F1,看提示信息,根据提示信息纠正错误。




  常见错误系列更新到第二篇,每篇10个较常见的错误。
  整理两篇“病例”中的“病症”大多都是细节上的问题,注意细节以及善用F1将不再为这类问题烦恼。
  日思夜想也搞不定或者暂时没有好的思路,可以上论坛寻求易友的帮助。


  ------>“150000+解决方案”<------
  在已解决的15W问答中,总有一个能解决你的问题或者给你提供思路的案例。


  ------>“有问必答”<------   
  看见没,就是这个,不懂的点一下,描述一下,再点一下发布,OK,人工在线解答有木有?



众人拾柴火焰高,一个人的力量是有限的,这里希望各位前辈共同整理常见错误与解决方案发表出来帮助新人,为易语言“新鲜血液”的补充贡献出自己的一份力量,让易更易!


作者: 石榴熟了    时间: 2019-4-20 11:02
沙发 ...     
作者: 阿杰大大    时间: 2019-4-20 11:06
易语言的选择,不管表达式是否成立,只要有函数,都会执行一下函数
作者: maozaiba    时间: 2019-4-20 12:05
第四条就坑了我一回,论坛有些人打包的支持库就是用精易模块转的,程序名都一样,导致最后不用这些支持库的时候源码里相应的引用都变成了乱码或???号
作者: 玄冰    时间: 2019-4-20 12:43
这些问题我都遇到过
作者: 曦月    时间: 2019-4-21 22:03
论坛有你更精彩
作者: 曦月    时间: 2019-4-21 22:03
感谢你的分享
作者: tangch728    时间: 2019-4-22 09:31

支持开源~!感谢分享
作者: yuan01    时间: 2019-4-25 10:46
刚开始接触还什么都不会,过来学习下。
作者: 376    时间: 2019-4-26 21:27
666666666666精易非常好,支持中!!!!!!!!!!!!
作者: 376    时间: 2019-4-30 12:03
易语言的选择,不管表达式是否成立,只要有函数,都会执行一下函数
作者: 花诗雨露    时间: 2019-5-4 19:29

作者: 长安往事    时间: 2019-5-5 23:46
感谢,666666
作者: 986858681    时间: 2019-5-9 12:10
感谢!666666666666666666
作者: 言不终    时间: 2019-5-9 13:54
6666666666666大佬牛批
作者: z847978794    时间: 2019-5-9 17:57
感谢大佬的分享,顶顶顶
作者: cc666888    时间: 2019-5-9 18:26
大佬出手,果然不同凡响
作者: cc666888    时间: 2019-5-9 18:31
6666666666666666666666666
作者: 我fff慈悲    时间: 2019-5-10 10:14
谢谢楼主分享
作者: 我fff慈悲    时间: 2019-5-10 10:15
大佬出手,果然不同凡响
作者: cc666888    时间: 2019-5-10 14:52
支持支持666666
作者: cc666888    时间: 2019-5-10 14:52
支持支持666666
作者: cc666888    时间: 2019-5-10 14:53
支持支持666666
作者: 妹妹你别这样    时间: 2019-5-11 16:35
66666666666666666666666666666大佬厉害了

作者: 妹妹你别这样    时间: 2019-5-11 16:35
厉害厉害   大佬  
作者: zhuzhusha    时间: 2019-5-11 17:30
支持支持大佬!
作者: yuan01    时间: 2019-5-11 23:40
静静地看着楼主,楼主写的真棒
作者: 小菜菜o    时间: 2019-5-13 09:33
支持支持666666
作者: 一箭穿心    时间: 2019-5-13 21:58
感谢分享,很给力!~
作者: h34164708k    时间: 2019-5-14 07:15
感谢分享,很给力!~
作者: 妹妹你别这样    时间: 2019-5-14 09:50
支持支持66666
作者: 妹妹你别这样    时间: 2019-5-14 09:50
支持支持66666666666
作者: 徐江龙    时间: 2019-5-14 15:22
日行一善,精币到手!
作者: 徐江龙    时间: 2019-5-14 15:22
日行一善,精币到手!

作者: 徐江龙    时间: 2019-5-14 15:22
日行一善,精币到手!

作者: 徐江龙    时间: 2019-5-14 15:27
日行一善,精币到手!
作者: 徐江龙    时间: 2019-5-14 15:27
日行一善,精币到手!
作者: 初学者初来乍到    时间: 2019-5-14 16:45
请继续帮助新手,最好有傻瓜式的DLL例子
作者: 言不终    时间: 2019-5-15 17:36

作者: 徐江龙    时间: 2019-5-16 10:16
...................
作者: 徐江龙    时间: 2019-5-16 10:17
...............
作者: 徐江龙    时间: 2019-5-16 10:17
...............
作者: 徐江龙    时间: 2019-5-16 10:17
1111111111111111111
作者: 徐江龙    时间: 2019-5-16 10:18
..............

作者: Lucifer北冥有鱼    时间: 2019-5-16 15:08
哈哈哈  喜欢那句让易更易  加油
作者: Q977324992    时间: 2019-5-17 10:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: Q977324992    时间: 2019-5-17 10:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 我爱黑暗    时间: 2019-5-17 19:14
感谢缝隙哈
作者: 妹妹你别这样    时间: 2019-5-20 14:51
哈哈哈  喜欢那句让易更易  加油
作者: 妹妹你别这样    时间: 2019-5-20 14:52
哈哈哈  喜欢那句让易更易  加油
作者: 徐江龙    时间: 2019-5-20 16:20

作者: dongruisb    时间: 2019-5-22 12:38
学到了,多谢分享
作者: 小菜菜o    时间: 2019-5-23 15:15

1111111111111111111
作者: 剑阁    时间: 2019-5-23 16:05
F1是真的好用
作者: 经准银柳    时间: 2019-5-24 10:08
十分感谢,学到了,多谢分享
作者: 网络注册网员    时间: 2019-5-25 13:34

作者: 已注销539739    时间: 2019-5-28 10:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 已注销539739    时间: 2019-5-28 10:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 较瘦的范    时间: 2019-5-28 17:31
让易更易,喜欢
作者: 较瘦的范    时间: 2019-5-28 17:31
这还只是入门篇啊
作者: 经准银柳    时间: 2019-5-28 17:32


























作者: 精引流推广    时间: 2019-5-28 17:35
11111111111111111111111111111
作者: 堆廣加    时间: 2019-5-28 17:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: 堆廣加    时间: 2019-5-28 17:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: shilindong    时间: 2019-5-29 15:48
大佬出手 果然非同凡响666
作者: 包子面团儿    时间: 2019-5-29 16:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 包子面团儿    时间: 2019-5-29 16:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 较瘦的范    时间: 2019-5-29 17:18
我又来了,楼主
作者: 经准银柳    时间: 2019-5-30 10:05
我想要精币,我的未来不是梦
作者: 经准银柳    时间: 2019-5-30 10:05



























作者: 包子面团儿    时间: 2019-5-31 17:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: D2434360350    时间: 2019-5-31 18:03
有点复杂,学起来还是挺难的

作者: 咖啡加安眠药    时间: 2019-6-1 18:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: pon    时间: 2019-6-2 22:13
学习了,
作者: D2434360350    时间: 2019-6-3 11:16
值得学习,有很多知识点
作者: cpzmd    时间: 2019-6-3 16:59
哇! 这个是高手,绝对是个高手!
作者: 罗志祥    时间: 2019-6-4 18:25
小白拿币学习中。还是找大佬们靠谱
作者: 推广引流酒水    时间: 2019-6-5 13:37
我曾难自拔于通道之大。也沉迷于实力升华.不作假 费律低下。无谓笑话
作者: 美不美看大腿2    时间: 2019-6-5 19:55
小白拿币学习中。还是找大佬们靠谱
作者: 养乐多ii    时间: 2019-6-5 23:08
沉迷学习无法自拔
作者: 老司    时间: 2019-6-7 16:56
很好  特别的完美
作者: zhaohai    时间: 2019-6-14 18:20
不管懂不懂 先看看在说
作者: QiChunJu    时间: 2019-6-15 09:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: 网络注册络员    时间: 2019-6-15 15:03
值得学习,多看多学
作者: zhuzhusha    时间: 2019-6-19 21:45
我来领取 看看 感谢
作者: 绝版大锅    时间: 2019-6-21 10:54
{:4_272:很好的分享。
作者: a2255225522    时间: 2019-6-21 15:46
支持 支持 哈哈!支持 支持 哈哈!
作者: 一剑磨十年    时间: 2019-6-22 18:13
沉迷易语言无法自拔
作者: a37755406    时间: 2019-6-22 18:21
沉迷易语言无法自拔
作者: a37755406    时间: 2019-6-22 18:22
沉迷易语言无法自拔
作者: 山兔    时间: 2019-6-24 21:02
感谢发布,精易因你更精彩!
作者: 山兔    时间: 2019-6-24 21:03
感谢发布,精易因你更精彩!
作者: jingyithunder    时间: 2019-6-27 09:44
值得学习,多看多学
作者: q35588    时间: 2019-6-27 10:34
支持开源~!感谢分享
作者: qytang    时间: 2019-6-28 01:46
感谢楼主分享教程~
作者: Mochong    时间: 2019-7-4 01:41
感谢分享了
作者: xunmu123    时间: 2019-7-7 11:59
支持楼主
作者: 儒商清扬    时间: 2019-7-7 14:26
支持                                          
作者: 儒商清扬    时间: 2019-7-7 14:26
精细                                   
作者: 小李11    时间: 2019-7-9 10:25
感谢分享,收藏一下




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