易截截图软件、单文件、免安装、纯绿色、仅160KB

问个Delphi关于SEH的问题

先看代码
Delphi(Pascal) code:

function ExceptionProc(pExcept:PExceptionRecord;
pFrame:Pointer;
pContxt:PContext;
pDispatcher:Pointer):Integer;stdcall;
begin
ShowMessage('1111');

Result:=0;
end;


procedure TForm1.Button1Click(Sender: TObject);
asm
//try

push ebp
push offset ExceptionProc
push fs:[0]
mov fs:[0],esp

xor edx,edx
mov [edx],1

pop dword ptr fs:[0]
add esp,4
pop ebp
end;



异常能捕获到了,但是一直弹出对话框呀.

希望有朋友能帮我讲解下,貌似有人说把pContext指向下一个.但是不是很明白希望大牛指导.
附上Delphi自己的trye的代码
Unit1.pas.39: Try
00452704 33D2            xor edx,edx
00452706 55              push ebp
00452707 6821274500      push $00452721
0045270C 64FF32          push dword ptr fs:[edx]
0045270F 648922          mov fs:[edx],esp

Unit1.pas.40: a.Show;
00452712 E811B3FFFF      call TCustomForm.Show
00452717 33C0            xor eax,eax
00452719 5A              pop edx
0045271A 59&


相关问答:

ACCESS的自定义函数在delphi里怎么用呢...

我在模块里自定义了一个函数:stradd()

可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...

这个问题有什么办法可以解决的吗? 非常感激!


(在A ......

delphi動態調用dll的困惑

procedure RunFunction;  
  type  
  TFunc = function(A: Integer): Integer;stdcall; //这里根据DLL里面函数的声明修改  
  var  
  ......

delphi动态数组如何去掉一个元素

procedure DynArrayDelete(var A;elSize:Longint;index,Count:Integer);
var
len,MaxDelete:Integer;
P:PLongint; //4 个字节的长整形指针
begin
P:=PLongint(A);// 取的 A 的 ......

请教关于Delphi的树形控件

请问Delphi有树形控件吗?
怎样使用?
Ttreeview 
 treeview.items.addchild(nil(上级节点),'案发时发'(text));

raize 控件包里面有,csdn有下载的

查帮助TTreeView和TNode两个类

TTreeView ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号