起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 133|回复: 8

【结帖】请问如何避免ObjectHelper.CallMethod时的错误"该方法不存在&

[复制链接]
发表于 2008-3-28 10:53:34 | 显示全部楼层 |阅读模式
在不接管DELPHI异常的情况下.请问如何避免ObjectHelper.CallMethod时的错误"该方法不存在".
最好能提供出如下的函数:比如:ObjectHelper.canCallMethod:boolean.
或者能告诉我在主界面上如何能判断出当前TAB切换的功能里面是否存在我定义的方法.
谢谢!
回复

使用道具 举报

 楼主| 发表于 2008-3-28 13:09:59 | 显示全部楼层

怎么每人搭理啊

怎么每人搭理啊
回复 支持 反对

使用道具 举报

发表于 2008-3-28 13:33:26 | 显示全部楼层
没有你说的方法
你可以这样做,在调用这个函数的外面用try except 试错
try
  Objecthelper.CallMethod
except
end;
这样如果出错,这个错误也被忽略掉了,我给你的例子就是这么写的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-28 13:45:45 | 显示全部楼层

我是这样写的啊,但是仍然会报错

if AContainer <> nil then   
     if AContainer.FFunc  <> nil then
      begin
      try
        Business.System.ObjectHelper.CallMethod(AContainer.FFunc.MainForm, 'RefreshData', []);
      except
      end;
     end;
这是我的原代码.只要AContainer.FFunc.MainForm没有RefreshData'就会报错
回复 支持 反对

使用道具 举报

发表于 2008-3-28 13:54:25 | 显示全部楼层
在Studio中调试运行会出错,用ie或者busness.exe就不会报错了
如果想studio中也不报错,请如图设置

1.png

18.59 KB, 下载次数: 68

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-28 14:51:34 | 显示全部楼层

您说的这个我知道啊,那样当然不会有错啊

您说的这个我知道啊,那样当然不会有错啊.但是那样的话其于的错误不也会一同屏蔽了啊.所以我才发一楼的帖子,问您是否能判断出当前切换的功能中是否存在我自己的"RefreshData"方法啊.
没有的话就不执行ObjectHelper.CallMethod(AContainer.FFunc.MainForm, 'RefreshData', []);
这样就不会弹出."没有这个方法的错误"啊
回复 支持 反对

使用道具 举报

发表于 2008-3-28 14:55:50 | 显示全部楼层
没有你说的方法
回复 支持 反对

使用道具 举报

发表于 2008-3-31 10:51:45 | 显示全部楼层
还有问题吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-1 09:05:22 | 显示全部楼层

揭贴吧. 谢谢

揭贴吧.谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 07:08 , Processed in 0.044193 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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