起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 243|回复: 17

【结】系统核心库FreeFunc方法报错

[复制链接]
发表于 2008-9-1 15:06:16 | 显示全部楼层 |阅读模式
我在功能B中OnClose时用RunFunc(Context,'',lMainFuncURL,'',True,nil,True)方法,运行另外一个功能A。但是时不时就会报错,错误定位在系统核心库的FreeFunc方法的 “Func.Free”这句。请帮忙解决一下,谢谢
回复

使用道具 举报

发表于 2008-9-1 15:30:58 | 显示全部楼层
看看具体的错误信息。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-1 16:08:37 | 显示全部楼层
图1

1.jpg

12.23 KB, 下载次数: 115

回复 支持 反对

使用道具 举报

发表于 2008-9-1 16:10:42 | 显示全部楼层
这样写试试:
RunFunc(Context.parent,'',lMainFuncURL,'',True,nil,True)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-1 16:11:36 | 显示全部楼层
图2

2.jpg

12.29 KB, 下载次数: 112

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-1 16:39:24 | 显示全部楼层
问题依旧。主要就是报vcl60.bpl, CLRModel.bpl, rtl60.bpl,这几个的错
回复 支持 反对

使用道具 举报

发表于 2008-9-1 17:03:52 | 显示全部楼层
楼主,
1、如果屏蔽掉runfunc是否就不会出现任何错误呢?
2、是在执行runfunc后报错吗?还是在操作 lMainFuncURL 这个功能报错呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-1 17:15:33 | 显示全部楼层
我怀疑是窗体Close与runfunc有什么冲突。我两个功能都用了runfunc方法,A功能用runfunc让B功能运行并传递参数,然后B功能关闭时在调用runfunc定位回A功能,修改与A功能相关的一些数据。A功能用runfunc不会报错,就是B功能用会报错。
回复 支持 反对

使用道具 举报

发表于 2008-9-1 19:16:45 | 显示全部楼层
1、楼主的这个需求不用做成两个功能,只要在一个功能中创建A、B两个窗体就可以了。

2、楼上的问题,怀疑与环境有关。
你的A功能是如何调用的B功能,把代码贴出来我看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-2 09:22:24 | 显示全部楼层
1: A功能是一个树形显示流程的图形,点击节点可以调用相应窗体,这些节点的属性和窗体的路径是可维护的,所以才做成各个具体的功能,这样用runfunc调用比较方便。
2: A调用B的代码:SystemCore.TSystemCore.FuncManager.RunFunc(context,'',MDUrl,lParam, nil, False),B关闭的时候要定位回A(如果A已经关闭则要将A运行)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-22 02:15 , Processed in 0.045190 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表