delphi获取程序异常信息
智能一步一步跟踪到出错的代码,一般这类代码是内存溢出了,访问了错误的地址空间。
将 'from 学生考勤表 group by 周 having 周=:e;';参数e后面的封号去掉,即: 'from 学生考勤表 group by 周 having 周=:e';
======================补充回答===============如果是要求获取整个程序出错的地方,那么需要在工程文件里写异常处理代码:
program Project1;
uses
Forms, SysUtils,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
try
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
except
on e: Exception do
Begin
Application.MessageBox(PChar(E.Message), 'error', 16);
End;
end;
end.
=====================================
可以啊,delphi里的异常处理功能很不错,以下是一段示例:
procedure TForm1.Button1Click(Sender: TObject);
var ii:integer;
begin
UsedTime:=0;
Timer1.Enabled :=True;
Try
//以下为你自己的处理过程。中间加入对UsedTime的判断。如果大于你预定的时间,则抛出异常
for ii:=1 to 100000000 do
begin
application.ProcessMessages;
if UsedTime>=2 then
raise EMyException.Create('Your custom error message! For example : Timeout!'); //抛出自定义异常
end;
except
//在此可以用 on E: Exception do begin...end; 来捕获错误信息
Showmessage('TimeOut!');
Timer1.Enabled :=False;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
UsedTime:=UsedTime+1;
end;
end.
//这里面的关键是,在满足你设定的时间条件后,要用 Raise 抛出一个异常!就可以使程序直接进入 Except 语句里。
try
//你的代码
except on e: Exception do
Begin
Application.MessageBox(PChar(E.Message), 'error', 16);
End;
end;
delphi获取程序异常信息
\/\/这里面的关键是,在满足你设定的时间条件后,要用 Raise 抛出一个异常!就可以使程序直接进入 Except 语句里。
delphi exe异常关闭,怎么获取异常关闭状态
用下面的例程去调用delphi.exe(找一台运行delphi没问题的机器调试好含下面例程的程序)。function WinExecAndWait32(FileName: string; Visibility: Boolean): integer;var zAppName: array[0..512] of char; \/\/存放应用程序名 StartupInfo: TStartupInfo;ProcessInfo: TProcessInformation;exitCode:...
delphi 写的EXE程序正在运行,突然停电了,如何捕获这种异常,大虾们来...
这怎能捕获呢,电都没了,程序就在内存全消失了。唯一的就是程序中,定时保存当前程序状态或部分参数,一旦停了,能知道从哪里再开始。--- 客户端EXE程序要定时向服务端的数据表中写当前服务器的时间(SQL中可以写 服务端时间而不是客户端时间),服务端一旦检测客户端写入的时间已与实际时间 严重超时...
DELPHI下怎样通过程序崩溃地址查找源代码的错误行(一)
1、先对需要分析的程序源代码重新编译,编译的同时需要获得对应的MAP文件,下面是具体的操作步骤:2) 重新编译程序,在设定生成最终执行文件的目录下你可以发现一个与执行文件同名,后缀为map的文件,这个就是我们要的map文件了。
delphi捕获oracle异常
这是IDE调试环境下的系统提示. 你直接执行编译后的Exe文件试试 with ADOQuery do begin Close;SQL.Clear;SQL.Text:='insert into user_group(DEPTNAME) values(:DEPTNAME)';Parameters.ParamByName('DEPTNAME').Value:=Trim(edt10.Text);try ExecSQL;except ShowMessage('部门名称重复,请重新输入!
如何查看delphi程序出错的位置
估计代码出现错误的位置,然后设置断点,程序运行后会到断点的位置停下来,然后按 F7 会一句一句执行代码,此时用鼠标指到变量上可以看到变量的值,如果代码有问题就会弹出错误。
delphi 的winhttp怎么异步回调获取网站状态码?
使用消息处理的方式来同步处理,分为三个步骤:一、把你上面的代码放到线程里面去,添加try catch,在catch中捕获异常,然后把异常的消息发送给消息处理中心 二、新建一个消息捕获函数,处理自定义的消息,接收到的消息包括状态、内容等 三、保持异常的网站状态到数据库中,或者显示在程序的主界面 ...
在Delphi中怎么捕捉所有的错误
任何语言的语法错误都能在解释器或编译器扫描时被发现,这些delphi也不例外。至于程序中的设计错误、逻辑错误,就不是一个软件工具能发现的,需要编程人员自己解决。另,关于“异常”,delphi 由一套 “try...exception...”处理机制。
解决“Borland Delphi 7”的安装程序异常问题,异常提示如下
需要将破解下的dent.slip文件覆盖过去,如果不行再试:在此用户目录下有.Boland 目录下,有C:\\Documents and Settings\\park.PARK\\.borland 下的registry.slm 文件删除,或可以更该注册表,系统会自动重建此文件。如果都不行,可以考试重新下载一下安装文件 ...
delphi中如何屏蔽别的程序的错误弹出信息
方法如下:procedure checkerror; {查找错误窗口进行关闭或者隐藏} var h:hwnd; \/\/错误窗口句柄 p,name,ps:array[0..254] of Char;\/\/用来存放制定进程的classname的数组 begin {***方法是便利所有窗口,查找相同标题窗口,找到后再判断类是否相同,相同隐藏***} h := GetWindow(Handle, ...