求pb高手:在win7下 formula one 6报错

ih04250652 2011-06-25 10:34:32
求解决,给分,也可以给rmb

有一程序用pb9开发的,现在做维护

在XP下正常,在win7下老报错

但是运行退出几次后 又不报错了,郁闷啊


错误号:35
报错信息:
报错行的语句就是ole_f1.read(filename,12) filename为.vts文件
...全文
677 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhaiqiong 2013-11-29
  • 打赏
  • 举报
回复
引用 15 楼 ih04250652 的回复:
怎么删
楼主的问题后来怎么解决的啊?
ih04250652 2011-06-28
  • 打赏
  • 举报
回复
怎么删
ih04250652 2011-06-28
  • 打赏
  • 举报
回复
事件名称:Error calling external object function read at line 129 in open event of object w_bb.
PowerPython 2011-06-28
  • 打赏
  • 举报
回复
删除一个XP更新 KB956744
ih04250652 2011-06-28
  • 打赏
  • 举报
回复
么 解决 啊
wag_enu 2011-06-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ih04250652 的回复:]
还有一个问题 就是

我用的PB9 有一个老问题 就是 insert control pb崩溃
所以在程序中用的f1的ole控件
是用的已经做好的 uo控件

但是呢
每次打开这个uo 或者包含这个uo控件的窗口 ,不做任何改动,关闭时老 提示保存 说已经改动了?!
[/Quote]

这是一个老问题,以前在网上捡到过一种处理可以修复。。。
http://blog.csdn.net/fcb_chenshi/archive/2010/09/30/5915969.aspx
yyoinge 2011-06-28
  • 打赏
  • 举报
回复
都可以
ih04250652 2011-06-28
  • 打赏
  • 举报
回复
a:
**** int li_r
**** Ole_1.object.read(“filename”,ref li_r) //参数2是ref的
b:
**** int li_r
**** li_r=12
**** Ole_1.object.read(“filename”,li_r) //参数2是ref的
以上ab方法那种是正确的使用方法
ih04250652 2011-06-27
  • 打赏
  • 举报
回复
郁闷了 搞不懂啊 啊啊啊
yyoinge 2011-06-27
  • 打赏
  • 举报
回复
这个没有什么关系的
xuam 2011-06-27
  • 打赏
  • 举报
回复
某个内存没释放造成的吧?
ih04250652 2011-06-27
  • 打赏
  • 举报
回复
还有一个问题 就是

我用的PB9 有一个老问题 就是 insert control pb崩溃
所以在程序中用的f1的ole控件
是用的已经做好的 uo控件

但是呢
每次打开这个uo 或者包含这个uo控件的窗口 ,不做任何改动,关闭时老 提示保存 说已经改动了?!
ih04250652 2011-06-27
  • 打赏
  • 举报
回复
o 学习了

不行啊 还是会报错的

现在假设 每个按钮 打开一个文件
首次打开按钮1,没问题,在打开按钮2报错,继续后 ,再开其他的都会报错

报错后 我发现 所有涉及到的文件退出程序前全部锁死,
yyoinge 2011-06-27
  • 打赏
  • 举报
回复
1、pFileType 是int类型,reference,用于接受返回值(文件类型编号)。如果参数没定义 就会报错。
是这么翻译吧!?
应该翻译成:pFileType 是int类型,reference,用于接受返回值(文件类型编号)。如果read函数返回错误,则pFileType无法获取返回值(文件类型编号)

2、reference是什么意思:意思是当函数执行后,如果函数中对该变量进行修改,则变量值变更为函数中设定的值。如:有一个函数 int f_int(reference int ai)
函数中的代码是这样的
if ai = 1 then
ai = 0
else
ai = 1
end if
return 1

那么执行以下代码后,li的值将变更为0
int li = 1
f_int(li)
messagebox('', li) //此时li的值将变更为0

如果此时,你这样写函数,那么代码将无法保存,因为f_int的参数ai是传值引用(reference)型的变量,所以调用该函数时,参数必须是可修改的变量,不能是常数,也不能是常量。

//(1)传入常数
f_int(1)
//(2)传入常量
constant int li = 1
f_int(li)


3、文件类型编号应该跟后缀名没有关系,所以这种做法不会有影响
ih04250652 2011-06-27
  • 打赏
  • 举报
回复
是每次用 都会报错几次 就不再报错了

F1Book1.Read pPathName, pFileType

Type Description
pPathName String Name of the file to read.
pFileType Integer Variable, passed by reference, that receives the returned type of the file that is read. This parameter is undefined if Read returns an error. See F1FileTypeConstants for a list of valid constants returned by this variable:

Constants Value Description
F1FileExcel5 4 Excel 5 and 7/95
F1FileExcel97 11 Excel 97/Excel 8
F1FileFormulaOne3 5 Formula One 3.x, 4.x and 5.x
F1FileFormulaOne6 12 Formula One 6
F1FileHTML 9 HTML (write only)
F1FileHTMLDataOnly 10 HTML Data (write only)
F1FileTabbedText 3 Tabbed text
F1FileTabbedTextValuesOnly 6 Tabbed text (values only)

1、pFileType 是int类型,reference,用于接受返回值(文件类型编号)。如果参数没定义 就会报错。
是这么翻译吧!?
2、reference是什么意思,具体怎么用呢?
3、我的程序在read之前,是先删除文件,再用pb自己的fileopen、write、等将blob数据写入文件,但是文件后缀改成别的(.gsb 保存公式的公示表)。
但是退出的时候,保存是用的f1的F1Book1.Write(filename,12)
yyoinge 2011-06-25
  • 打赏
  • 举报
回复
F1读文件的方法不是应该是这样的吗?
int li_r
Ole_1.object.read(“filename”,li_r) //参数2是ref的

运行退出几次后 又不报错了,是什么意思,现在不报错了吗

对ole进行操作,最好带上try catch

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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