因为项目需要,用WebBrowser开发了一个内部专用的简单多页面浏览器,现在运行时偶尔回出现未知的异常错误(非法内存访问),这种错误很难跟踪,因为在调试时一切正常。
我现在的处理:
一、将WebBrowser的所有事件响应代码加了try...except;
二、给Application.OnException添加了一个异常处理方法,在异常次数超过指定的次数时将程序退出(如果不退出,会出现更多莫名其妙的错误)。这个方法也是不得已的方法。问题的关键是:不知道这些异常从何而来以及如何拦截并处理,希望各位帮忙看看有何解决办法
我现在的处理:
一、将WebBrowser的所有事件响应代码加了try...except;
二、给Application.OnException添加了一个异常处理方法,在异常次数超过指定的次数时将程序退出(如果不退出,会出现更多莫名其妙的错误)。这个方法也是不得已的方法。问题的关键是:不知道这些异常从何而来以及如何拦截并处理,希望各位帮忙看看有何解决办法
解决方案 »
- group字段的问题
- 关于web service数据持久化的问题,在非技术区两天没有答案.
- win XP Professional 上想装 SQL SERVER 2000 企业版怎么办???????
- 菜鸟急救: 小问题
- 怎么样打印一个form里的内容?
- 快速开发 DELPHI VB PB 大家觉得哪个好一些值得学呢?!
- delphi中的字体问题
- 谁有quantumgrd控件 for delphi6的,及其使用帮助啊?50分相求
- 读取DLL传递参数时乱码.求救!![100分求解]
- 如何设置全局变量,可以同时在一个工程的两个单元中使用
- 数据采集源码(idhttp,WebBrowser技术),低价转让,代理采集数据!!
- 天津外商独资企业急聘Delphi、C#、VB.Net程序员!!!
我在开发[csdn论坛浏览器]时也碰到这个问题,较好的做法是在线程的Execute中使用
try
...
except
....
end;
在debug状态,应该可以跟踪错误的~CSDN论坛浏览器:浏览、发帖、回复、结贴自动平均给分,下载地址:http://CoolSlob.ys168.com
首先感谢您的关注,其次说明一下我的程序没有使用多线程。我前面有提到和WebBrowser相关的操作全部加了try...except,并在此记录错误信息,
通过错误信息记录可以看到所有异常都不是由我自己的操作代码中出现的(如果是那样
我会记录在执行XXX操作时发生异常),而是未知的异常,一下是一段错误记录信息:2006-8-14 13:45:30 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:45:31 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:45:34 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:45:36 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:45:36 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:45:38 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:45:38 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:45:40 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:45:41 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:46:08 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:46:15 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:46:16 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:46:40 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:47:10 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:1814 系统错误信息:The specified resource name cannot be found in the image file
2006-8-14 13:47:11 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:47:11 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:47:11 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:47:57 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:47:59 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:49:24 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:120 系统错误信息:This function is not supported on this system
2006-8-14 13:49:27 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:49:29 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:1813 系统错误信息:The specified resource type cannot be found in the image file
2006-8-14 13:49:30 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:0 系统错误信息:The operation completed successfully
2006-8-14 13:49:30 发生如下未知的异常:
Access violation at address 00000000. Read of address 00000000
系统错误代码:1447 系统错误信息:The window does not have scroll bars
:)
建一个Demo容易,关键是不知道错误的来源和原因:(现在跟踪到这样一种出错的情况:
将程序启动后打开网页,过一段时间不做任何操作(上厕所去了),回来后在网页上面点右键
即出现异常,此时若切换到其他程序也会抛出异常。如果明天用户试用还报告错误,我发Demo给你帮我看看:)
给您发了Demo邮件,麻烦您抽出点时间帮忙看看,非常感谢:)
procedure TClientList.Notify(Ptr: Pointer; Action: TListNotification);
var
Temp: TClientFrm;
begin
inherited;
case Action of
// lnAdded: FItemIndex := Count - 1;
// lnExtracted: ;
lnDeleted:
begin
Temp := Ptr;
FreeAndNil(Temp);
// TClientFrm(Ptr).Free;
Dec(FItemIndex);
if (FItemIndex < 0) and (Count > 0) then
FItemIndex := 0;
end;
end;
end;
if IsNew then
while ClientFrmList.IndexOf(ClientFrm) <> -1 do
begin
Memo1.Lines.Add(ClientFrm.Caption);
Assert(ClientFrm <> nil);
if TWebFrm(ClientFrm).CheckReadyState then
Break;
Application.ProcessMessages;
end;当在执行上面的代码时, 又产生了DoTabsChange事件会怎么样?你不断地打开那3个“业务”,然后不断地(快速)关闭,就会发生地址错误,说明应用了不存在的对象。
也许是对象释放了,WebBrowser或所在的From中的某个事件仍在执行CSDN论坛浏览器:浏览、发帖、回复、结贴自动平均给分,下载地址:http://CoolSlob.ys168.com
var
obj: TObject;
begin
obj := TObject.Create;
obj.Free;
if obj <> nil then ShowMessage('<>nil');
end;
由于没有释放窗体会导致程序内存占用不断上升啊
var
Temp: TClientFrm;
begin
inherited;
case Action of
// lnAdded: FItemIndex := Count - 1;
// lnExtracted: ;
lnDeleted:
begin
Temp := Ptr;<-------------------------------
FreeAndNil(Temp); <------------------------
// TClientFrm(Ptr).Free;CSDN论坛浏览器:浏览、发帖、回复、结贴自动平均给分,下载地址:http://CoolSlob.ys168.com
采用这样的方法释放窗体还是会出错的,也试了很多别的方法来释放包含WEB的窗体,但是只要释放就出错,现在是没办法先用一个列表保存,等程序退出时一起释放,好歹程序可以用了。
就是觉得特别别扭,难道释放一个WEB窗体这么难?
EmbeddedWB下载地址:http://www.bsalsa.com/
有问题可以联系我,帮你看看
就停了。
看看IE7,能不能满足自己的要求,再说。:)