起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: buckking

【搞定】申明窗体的问题**

[复制链接]
 楼主| 发表于 2007-5-21 17:09:42 | 显示全部楼层
又测试了一次,发现停在这里

snap00015.jpg

112.51 KB, 下载次数: 117

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 17:10:23 | 显示全部楼层
这里是系统核心库的代码阿
回复 支持 反对

使用道具 举报

发表于 2007-5-21 17:37:05 | 显示全部楼层
这应该是你的这句代码调过去的,systemcore.TSystemCore.FuncManager.TerminateFunc(fnbDLGN.Func,true),可以看调用栈就会看出来,但是在这里报错是因为在调这个函数的时候,你的fnbDLGN.Func对应的功能已经被释放了,所以会报6楼的错误,10楼说得就是让你检查一下调这个函数之前是不是在哪已经结束了这个功能。
另外你的fnbDLGN这个功能代理代理的是哪个功能,是登录窗体所在的功能吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 08:39:06 | 显示全部楼层
我为了找出问题,专门测试了一下A功能下带一个A窗体,B功能下带一个B窗体。在A窗体上设一个按钮,代码如下:
procedure TACT.Button1Click(Sender: TObject);
begin
   {调用另外的功能}
   systemcore.TSystemCore.FuncManager.RunFunc(Context, '', 'Biz:STUDYSPACEHYBGN.Func', '', nil, false);
   {关闭登录窗体,就是在这里报错}
   systemcore.TSystemCore.FuncManager.TerminateFunc(fnbAGN.Func,true);
end;
其他地方没有代码了,在A功能引用Systemcore;编译通过,运行的时候还是报这个错误
附录:我的版本是2781

snap00016.jpg

19.91 KB, 下载次数: 113

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 10:12:28 | 显示全部楼层
这个问题,好久了阿,都没有人回吗
回复 支持 反对

使用道具 举报

发表于 2007-5-22 12:00:53 | 显示全部楼层
你把这个功能代理fnbAGN的引用属性的值设置为Default 试试看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 15:25:39 | 显示全部楼层
还是不行啊 ,报和14楼一样的错误,设置截图如下

snap00017.jpg

126.3 KB, 下载次数: 102

回复 支持 反对

使用道具 举报

发表于 2007-5-22 15:33:55 | 显示全部楼层
把功能代理的引用改为default后应该没有问题了啊,你把你做的例子传上来看一下吧,实在搞不懂。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 15:38:49 | 显示全部楼层
好,我传上来

例子.rar

14.79 KB, 下载次数: 21

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-22 15:58:34 | 显示全部楼层
希望可以快点分析出结果,谢谢了
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-10 23:42 , Processed in 0.039490 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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