ALINES函数报错c0000005

wmawma123 2017-09-06 05:07:13
thisform.cbGName.Clear
thisform.cbGMark.Clear
SELECT temp
FOR i=1 TO ALINES(ARR,ALLTRIM(GName),1,"#")
ALINES(ARR2,ARR(i)+"||",1,"|")
thisform.cbGName.AddListItem(ALLTRIM(ARR2(1)))
thisform.cbGMark.AddListItem(ALLTRIM(ARR2(2)))
ENDFOR

一个winform的VFP程序,这段代码运行的时候经常报错,而且是c0000005错误直接退出的,没法调试,请问各位老师,是什么原因呢?要怎么办呢?谢谢
...全文
529 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wmawma123 2017-09-07
  • 打赏
  • 举报
回复
引用 1 楼 apple_8180 的回复:
不知道你的 GName 有多大。 VFP自带的帮助中有这样说明:对于较大的备注字段,在向数组复制时,必须有足够的内存。如果内存不足,Visual FoxPro 将产生一个错误。 试试如下,如果不行,建议将GName 换行或截断处理,或放到表中处理 Thisform.cbGName.Clear Thisform.cbGMark.Clear Select temp Release ARR For i=1 To Alines(ARR,Alltrim(GName),1,"#") Release ARR2 Alines(ARR2,ARR(i)+"||",1,"|") Thisform.cbGName.AddListItem(Alltrim(ARR2(1))) Thisform.cbGMark.AddListItem(Alltrim(ARR2(2))) Endfor
彭老师,这个GName本来是mssql里的字段,text类型,但是其实里面的内容不算长的,就几十个字符而已,有关系吗?应该怎么处理呢?就按您上面说的用release一下就可以了吗?谢谢
十豆三 2017-09-06
  • 打赏
  • 举报
回复
不知道你的 GName 有多大。 VFP自带的帮助中有这样说明:对于较大的备注字段,在向数组复制时,必须有足够的内存。如果内存不足,Visual FoxPro 将产生一个错误。 试试如下,如果不行,建议将GName 换行或截断处理,或放到表中处理 Thisform.cbGName.Clear Thisform.cbGMark.Clear Select temp Release ARR For i=1 To Alines(ARR,Alltrim(GName),1,"#") Release ARR2 Alines(ARR2,ARR(i)+"||",1,"|") Thisform.cbGName.AddListItem(Alltrim(ARR2(1))) Thisform.cbGMark.AddListItem(Alltrim(ARR2(2))) Endfor

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧