該如何讓勾勾點掉時使用Breakpoint List 刪除代碼? |
答題得分者是:basang
|
lirick2003
一般會員 發表:17 回覆:16 積分:11 註冊:2007-02-23 發送簡訊給我 |
#1
發表時間:2007-04-13 06:40:06
IP:59.104.xxx.xxx 訂閱
<textarea class="delphi" rows="10" cols="60" name="code">
procedure TMainForm.Untest1Click(Sender: TObject);
var address: dword; begin
address:=($00697FAA);
frmModifyRegisters:=tfrmModifyRegisters.create(nil,address); if Untest1.Checked then
begin
frmModifyRegisters.checkbox13.checked:=true;
frmModifyRegisters.Button1.Click;;
frmModifyRegisters.Free;
Untest2.Enabled:=False;
Untest3.Enabled:=False;
Untest4.Enabled:=False;
end; if not Untest1.Checked then
begin
frmModifyRegisters.checkbox13.checked:=False;
frmModifyRegisters.Button1.Click;;
frmModifyRegisters.Free;
Untest2.Enabled:=True;
Untest3.Enabled:=True;
</textarea>
以Untest1為例,當方塊打勾時Breakpoint List 中的ListBox1會出現'00697FAA'....按下'00697FAA'再案旁邊的Delete可以刪除,因此該如何讓勾勾點掉時使用Breakpoint List 刪除代碼?
Breakpoint List 原始碼
<textarea class="delphi" rows="10" cols="60" name="code">
unit frmBreakpointlistunit; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,debugger,debugger2; type
TfrmBreakpointlist = class(TForm)
ListBox1: TListBox;
Button1: TButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure updatebplist;
end; var
frmBreakpointlist: TfrmBreakpointlist; implementation {$R *.dfm} uses formsettingsunit, MemoryBrowserFormUnit; procedure TFrmBreakpointlist.updatebplist;
var i: integer;
begin
listbox1.Clear;
if debuggerthread<>nil then
begin
if formsettings.rbDebugAsBreakpoint.checked then
begin
//show the userbreakpoints
for i:=0 to length(debuggerthread.userbreakpoints)-1 do
listbox1.Items.Add(IntToHex(debuggerthread.userbreakpoints[i],8));
end
else
begin
for i:=0 to length(debuggerthread.int3userbreakpoints)-1 do
listbox1.Items.Add(inttohex(debuggerthread.int3userbreakpoints[i].address,8));
end; end; if debuggerthread2<>nil then
for i:=0 to 3 do
if debuggerthread2.breakpoints[i]<>0 then
listbox1.items.add(inttohex(debuggerthread2.breakpoints[i],8));
end; procedure TfrmBreakpointlist.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
frmbreakpointlist:=nil;
end; procedure TfrmBreakpointlist.FormCreate(Sender: TObject);
begin
updatebplist;
end; procedure TfrmBreakpointlist.Button1Click(Sender: TObject);
var address: dword;
i: integer;
begin
if listbox1.ItemIndex>=0 then
begin if debuggerthread2<>nil then
begin
address:=strtoint('$' listbox1.items[listbox1.itemindex]);
for i:=0 to 3 do
if debuggerthread2.breakpoints[i]=address then
begin
debuggerthread2.breakpoints[i]:=0;
break;
end; debuggerthread2.setbreakpoints;
updatebplist;
end; if debuggerthread<>nil then
debugger.ToggleBreakpoint(strtoint('$' listbox1.items[listbox1.itemindex])); end; end; procedure TfrmBreakpointlist.ListBox1DblClick(Sender: TObject);
begin
if listbox1.ItemIndex>=0 then
memorybrowser.Disassembleraddress:=StrToInt('$' listbox1.items[listbox1.itemindex]);
memorybrowser.updatedisassemblerview;
end; end.
</textarea>
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
#2
發表時間:2007-04-14 03:17:31
IP:61.64.xxx.xxx
訂閱
你找別人幫你做工喔!
喜歡這樣的人不多,尤其回答這種程度問題的更少吧 如果代碼真是你自己寫的 那多用心一點吧 因為你已經自己回答了答案,不可能看不到吧 只是流程的問題 |
basang
一般會員 發表:0 回覆:1 積分:5 註冊:2007-04-19 發送簡訊給我 |
#3
發表時間:2007-04-19 10:32:23
IP:218.162.xxx.xxx
訂閱
1.就已經給你方向了
要你自己去摸,跑來這邊發表文章 2.該程式並不是他寫的 國外人士寫的 該程式為某個遊戲修改程式 他連基礎都不想學.....最基本的元件使用和變數宣告 這些都不懂....只會要別人幫他做現成的 之後就說程式是自己寫的...... 無言............ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |