|
@@ -74,6 +74,8 @@ type
|
|
constructor Init_Empty;
|
|
constructor Init_Empty;
|
|
constructor Init_file_line(AFile : String; ALine : longint);
|
|
constructor Init_file_line(AFile : String; ALine : longint);
|
|
constructor Init_type(atyp : BreakpointType;Const AnExpr : String);
|
|
constructor Init_type(atyp : BreakpointType;Const AnExpr : String);
|
|
|
|
+ constructor Load(var S: TStream);
|
|
|
|
+ procedure Store(var S: TStream);
|
|
procedure Insert;
|
|
procedure Insert;
|
|
procedure Remove;
|
|
procedure Remove;
|
|
procedure Enable;
|
|
procedure Enable;
|
|
@@ -156,6 +158,8 @@ type
|
|
PWatch = ^TWatch;
|
|
PWatch = ^TWatch;
|
|
TWatch = Object(TObject)
|
|
TWatch = Object(TObject)
|
|
constructor Init(s : string);
|
|
constructor Init(s : string);
|
|
|
|
+ constructor Load(var S: TStream);
|
|
|
|
+ procedure Store(var S: TStream);
|
|
procedure rename(s : string);
|
|
procedure rename(s : string);
|
|
procedure Get_new_value;
|
|
procedure Get_new_value;
|
|
destructor done;virtual;
|
|
destructor done;virtual;
|
|
@@ -252,7 +256,7 @@ const
|
|
|
|
|
|
var
|
|
var
|
|
Debugger : PDebugController;
|
|
Debugger : PDebugController;
|
|
- BreakpointCollection : PBreakpointCollection;
|
|
|
|
|
|
+ BreakpointsCollection : PBreakpointCollection;
|
|
WatchesCollection : PwatchesCollection;
|
|
WatchesCollection : PwatchesCollection;
|
|
|
|
|
|
procedure InitDebugger;
|
|
procedure InitDebugger;
|
|
@@ -318,6 +322,34 @@ const
|
|
Store: @TFramesListBox.Store
|
|
Store: @TFramesListBox.Store
|
|
);
|
|
);
|
|
|
|
|
|
|
|
+ RBreakpoint: TStreamRec = (
|
|
|
|
+ ObjType: 1707;
|
|
|
|
+ VmtLink: Ofs(TypeOf(TBreakpoint)^);
|
|
|
|
+ Load: @TBreakpoint.Load;
|
|
|
|
+ Store: @TBreakpoint.Store
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ RWatch: TStreamRec = (
|
|
|
|
+ ObjType: 1708;
|
|
|
|
+ VmtLink: Ofs(TypeOf(TWatch)^);
|
|
|
|
+ Load: @TWatch.Load;
|
|
|
|
+ Store: @TWatch.Store
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ RBreakpointCollection: TStreamRec = (
|
|
|
|
+ ObjType: 1709;
|
|
|
|
+ VmtLink: Ofs(TypeOf(TBreakpointCollection)^);
|
|
|
|
+ Load: @TBreakpointCollection.Load;
|
|
|
|
+ Store: @TBreakpointCollection.Store
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ RWatchesCollection: TStreamRec = (
|
|
|
|
+ ObjType: 1710;
|
|
|
|
+ VmtLink: Ofs(TypeOf(TWatchesCollection)^);
|
|
|
|
+ Load: @TWatchesCollection.Load;
|
|
|
|
+ Store: @TWatchesCollection.Store
|
|
|
|
+ );
|
|
|
|
+
|
|
{****************************************************************************
|
|
{****************************************************************************
|
|
TDebugController
|
|
TDebugController
|
|
****************************************************************************}
|
|
****************************************************************************}
|
|
@@ -344,7 +376,7 @@ procedure TDebugController.InsertBreakpoints;
|
|
end;
|
|
end;
|
|
|
|
|
|
begin
|
|
begin
|
|
- BreakpointCollection^.ForEach(@DoInsert);
|
|
|
|
|
|
+ BreakpointsCollection^.ForEach(@DoInsert);
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TDebugController.ReadWatches;
|
|
procedure TDebugController.ReadWatches;
|
|
@@ -366,7 +398,7 @@ procedure TDebugController.RemoveBreakpoints;
|
|
PB^.Remove;
|
|
PB^.Remove;
|
|
end;
|
|
end;
|
|
begin
|
|
begin
|
|
- BreakpointCollection^.ForEach(@DoDelete);
|
|
|
|
|
|
+ BreakpointsCollection^.ForEach(@DoDelete);
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TDebugController.ResetBreakpointsValues;
|
|
procedure TDebugController.ResetBreakpointsValues;
|
|
@@ -375,7 +407,7 @@ procedure TDebugController.ResetBreakpointsValues;
|
|
PB^.ResetValues;
|
|
PB^.ResetValues;
|
|
end;
|
|
end;
|
|
begin
|
|
begin
|
|
- BreakpointCollection^.ForEach(@DoResetVal);
|
|
|
|
|
|
+ BreakpointsCollection^.ForEach(@DoResetVal);
|
|
end;
|
|
end;
|
|
|
|
|
|
destructor TDebugController.Done;
|
|
destructor TDebugController.Done;
|
|
@@ -565,7 +597,7 @@ begin
|
|
Desktop^.UnLock;
|
|
Desktop^.UnLock;
|
|
if BreakIndex>0 then
|
|
if BreakIndex>0 then
|
|
begin
|
|
begin
|
|
- PB:=BreakpointCollection^.GetGDB(BreakIndex);
|
|
|
|
|
|
+ PB:=BreakpointsCollection^.GetGDB(BreakIndex);
|
|
{ For watch we should get old and new value !! }
|
|
{ For watch we should get old and new value !! }
|
|
if (Not assigned(GDBWindow) or not GDBWindow^.GetState(sfActive)) and
|
|
if (Not assigned(GDBWindow) or not GDBWindow^.GetState(sfActive)) and
|
|
(PB^.typ<>bt_file_line) and (PB^.typ<>bt_function) then
|
|
(PB^.typ<>bt_file_line) and (PB^.typ<>bt_function) then
|
|
@@ -696,6 +728,52 @@ begin
|
|
CurrentValue:=nil;
|
|
CurrentValue:=nil;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+constructor TBreakpoint.Load(var S: TStream);
|
|
|
|
+begin
|
|
|
|
+ S.Read(typ,SizeOf(BreakpointType));
|
|
|
|
+ S.Read(state,SizeOf(BreakpointState));
|
|
|
|
+ GDBState:=bs_deleted;
|
|
|
|
+ case typ of
|
|
|
|
+ bt_file_line :
|
|
|
|
+ begin
|
|
|
|
+ FileName:=S.ReadStr;
|
|
|
|
+ S.Read(Line,SizeOf(Line));
|
|
|
|
+ Name:=nil;
|
|
|
|
+ end;
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ Name:=S.ReadStr;
|
|
|
|
+ Line:=0;
|
|
|
|
+ FileName:=nil;
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+ S.Read(IgnoreCount,SizeOf(IgnoreCount));
|
|
|
|
+ Commands:=S.StrRead;
|
|
|
|
+ Conditions:=S.ReadStr;
|
|
|
|
+ OldValue:=nil;
|
|
|
|
+ CurrentValue:=nil;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TBreakpoint.Store(var S: TStream);
|
|
|
|
+begin
|
|
|
|
+ S.Write(typ,SizeOf(BreakpointType));
|
|
|
|
+ S.Write(state,SizeOf(BreakpointState));
|
|
|
|
+ case typ of
|
|
|
|
+ bt_file_line :
|
|
|
|
+ begin
|
|
|
|
+ S.WriteStr(FileName);
|
|
|
|
+ S.Write(Line,SizeOf(Line));
|
|
|
|
+ end;
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ S.WriteStr(Name);
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+ S.Write(IgnoreCount,SizeOf(IgnoreCount));
|
|
|
|
+ S.StrWrite(Commands);
|
|
|
|
+ S.WriteStr(Conditions);
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TBreakpoint.Insert;
|
|
procedure TBreakpoint.Insert;
|
|
begin
|
|
begin
|
|
If not assigned(Debugger) then Exit;
|
|
If not assigned(Debugger) then Exit;
|
|
@@ -1105,7 +1183,7 @@ begin
|
|
P^.Breakpoint^.state:=bs_disabled
|
|
P^.Breakpoint^.state:=bs_disabled
|
|
else if P^.Breakpoint^.state=bs_disabled then
|
|
else if P^.Breakpoint^.state=bs_disabled then
|
|
P^.Breakpoint^.state:=bs_enabled;
|
|
P^.Breakpoint^.state:=bs_enabled;
|
|
- BreakpointCollection^.Update;
|
|
|
|
|
|
+ BreakpointsCollection^.Update;
|
|
if P^.Breakpoint^.typ=bt_file_line then
|
|
if P^.Breakpoint^.typ=bt_file_line then
|
|
begin
|
|
begin
|
|
W:=TryToOpenFile(nil,GetStr(P^.Breakpoint^.FileName),1,P^.Breakpoint^.Line,false);
|
|
W:=TryToOpenFile(nil,GetStr(P^.Breakpoint^.FileName),1,P^.Breakpoint^.Line,false);
|
|
@@ -1128,7 +1206,7 @@ begin
|
|
P:=List^.At(Focused);
|
|
P:=List^.At(Focused);
|
|
if P=nil then Exit;
|
|
if P=nil then Exit;
|
|
Application^.ExecuteDialog(New(PBreakpointItemDialog,Init(P^.Breakpoint)),nil);
|
|
Application^.ExecuteDialog(New(PBreakpointItemDialog,Init(P^.Breakpoint)),nil);
|
|
- BreakpointCollection^.Update;
|
|
|
|
|
|
+ BreakpointsCollection^.Update;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TBreakpointsListBox.DeleteCurrent;
|
|
procedure TBreakpointsListBox.DeleteCurrent;
|
|
@@ -1138,9 +1216,9 @@ begin
|
|
if Range=0 then Exit;
|
|
if Range=0 then Exit;
|
|
P:=List^.At(Focused);
|
|
P:=List^.At(Focused);
|
|
if P=nil then Exit;
|
|
if P=nil then Exit;
|
|
- BreakpointCollection^.free(P^.Breakpoint);
|
|
|
|
|
|
+ BreakpointsCollection^.free(P^.Breakpoint);
|
|
List^.free(P);
|
|
List^.free(P);
|
|
- BreakpointCollection^.Update;
|
|
|
|
|
|
+ BreakpointsCollection^.Update;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TBreakpointsListBox.EditNew;
|
|
procedure TBreakpointsListBox.EditNew;
|
|
@@ -1150,8 +1228,8 @@ begin
|
|
P:=New(PBreakpoint,Init_Empty);
|
|
P:=New(PBreakpoint,Init_Empty);
|
|
if Application^.ExecuteDialog(New(PBreakpointItemDialog,Init(P)),nil)<>cmCancel then
|
|
if Application^.ExecuteDialog(New(PBreakpointItemDialog,Init(P)),nil)<>cmCancel then
|
|
begin
|
|
begin
|
|
- BreakpointCollection^.Insert(P);
|
|
|
|
- BreakpointCollection^.Update;
|
|
|
|
|
|
+ BreakpointsCollection^.Insert(P);
|
|
|
|
+ BreakpointsCollection^.Update;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
dispose(P,Done);
|
|
dispose(P,Done);
|
|
@@ -1344,9 +1422,9 @@ procedure TBreakpointsWindow.ReloadBreakpoints;
|
|
BreakLB^.AddBreakpoint(New(PBreakpointItem, Init(P)));
|
|
BreakLB^.AddBreakpoint(New(PBreakpointItem, Init(P)));
|
|
end;
|
|
end;
|
|
begin
|
|
begin
|
|
- If not assigned(BreakpointCollection) then
|
|
|
|
|
|
+ If not assigned(BreakpointsCollection) then
|
|
exit;
|
|
exit;
|
|
- BreakpointCollection^.ForEach(@InsertInBreakLB);
|
|
|
|
|
|
+ BreakpointsCollection^.ForEach(@InsertInBreakLB);
|
|
ReDraw;
|
|
ReDraw;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -1524,84 +1602,97 @@ end;
|
|
TWatch
|
|
TWatch
|
|
****************************************************************************}
|
|
****************************************************************************}
|
|
|
|
|
|
- constructor TWatch.Init(s : string);
|
|
|
|
- begin
|
|
|
|
- expr:=NewStr(s);
|
|
|
|
- last_value:=nil;
|
|
|
|
- current_value:=nil;
|
|
|
|
- Get_new_value;
|
|
|
|
- end;
|
|
|
|
|
|
+constructor TWatch.Init(s : string);
|
|
|
|
+ begin
|
|
|
|
+ expr:=NewStr(s);
|
|
|
|
+ last_value:=nil;
|
|
|
|
+ current_value:=nil;
|
|
|
|
+ Get_new_value;
|
|
|
|
+ end;
|
|
|
|
|
|
- procedure TWatch.rename(s : string);
|
|
|
|
- begin
|
|
|
|
- if assigned(expr) then
|
|
|
|
- begin
|
|
|
|
- if GetStr(expr)=S then
|
|
|
|
- exit;
|
|
|
|
- DisposeStr(expr);
|
|
|
|
- end;
|
|
|
|
- expr:=NewStr(s);
|
|
|
|
- if assigned(last_value) then
|
|
|
|
- StrDispose(last_value);
|
|
|
|
- last_value:=nil;
|
|
|
|
- if assigned(current_value) then
|
|
|
|
- StrDispose(current_value);
|
|
|
|
- current_value:=nil;
|
|
|
|
- Get_new_value;
|
|
|
|
- end;
|
|
|
|
|
|
+constructor TWatch.Load(var S: TStream);
|
|
|
|
+ begin
|
|
|
|
+ expr:=S.ReadStr;
|
|
|
|
+ last_value:=nil;
|
|
|
|
+ current_value:=nil;
|
|
|
|
+ Get_new_value;
|
|
|
|
+ end;
|
|
|
|
|
|
- procedure TWatch.Get_new_value;
|
|
|
|
- var p,q : pchar;
|
|
|
|
- i : longint;
|
|
|
|
- last_removed : boolean;
|
|
|
|
- begin
|
|
|
|
- If not assigned(Debugger) then
|
|
|
|
- exit;
|
|
|
|
- if assigned(last_value) then
|
|
|
|
- strdispose(last_value);
|
|
|
|
- last_value:=current_value;
|
|
|
|
- Debugger^.Command('p '+GetStr(expr));
|
|
|
|
- if Debugger^.Error then
|
|
|
|
- p:=StrNew(Debugger^.GetError)
|
|
|
|
- else
|
|
|
|
- p:=StrNew(Debugger^.GetOutput);
|
|
|
|
- { do not open a messagebox for such errors }
|
|
|
|
- Debugger^.got_error:=false;
|
|
|
|
- q:=nil;
|
|
|
|
- if assigned(p) and (p[0]='$') then
|
|
|
|
- q:=StrPos(p,'=');
|
|
|
|
- if not assigned(q) then
|
|
|
|
- q:=p;
|
|
|
|
- if assigned(q) then
|
|
|
|
- i:=strlen(q)
|
|
|
|
- else
|
|
|
|
- i:=0;
|
|
|
|
- if (i>0) and (q[i-1]=#10) then
|
|
|
|
- begin
|
|
|
|
- q[i-1]:=#0;
|
|
|
|
- last_removed:=true;
|
|
|
|
- end
|
|
|
|
- else
|
|
|
|
- last_removed:=false;
|
|
|
|
- if assigned(q) then
|
|
|
|
- current_value:=strnew(q)
|
|
|
|
- else
|
|
|
|
- current_value:=strnew('');
|
|
|
|
- if last_removed then
|
|
|
|
- q[i-1]:=#10;
|
|
|
|
- strdispose(p);
|
|
|
|
- end;
|
|
|
|
|
|
+procedure TWatch.Store(var S: TStream);
|
|
|
|
+ begin
|
|
|
|
+ S.WriteStr(expr);
|
|
|
|
+ end;
|
|
|
|
|
|
- destructor TWatch.Done;
|
|
|
|
- begin
|
|
|
|
- if assigned(expr) then
|
|
|
|
- disposestr(expr);
|
|
|
|
- if assigned(last_value) then
|
|
|
|
- strdispose(last_value);
|
|
|
|
- if assigned(current_value) then
|
|
|
|
- strdispose(current_value);
|
|
|
|
- inherited done;
|
|
|
|
- end;
|
|
|
|
|
|
+procedure TWatch.rename(s : string);
|
|
|
|
+ begin
|
|
|
|
+ if assigned(expr) then
|
|
|
|
+ begin
|
|
|
|
+ if GetStr(expr)=S then
|
|
|
|
+ exit;
|
|
|
|
+ DisposeStr(expr);
|
|
|
|
+ end;
|
|
|
|
+ expr:=NewStr(s);
|
|
|
|
+ if assigned(last_value) then
|
|
|
|
+ StrDispose(last_value);
|
|
|
|
+ last_value:=nil;
|
|
|
|
+ if assigned(current_value) then
|
|
|
|
+ StrDispose(current_value);
|
|
|
|
+ current_value:=nil;
|
|
|
|
+ Get_new_value;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+procedure TWatch.Get_new_value;
|
|
|
|
+ var p,q : pchar;
|
|
|
|
+ i : longint;
|
|
|
|
+ last_removed : boolean;
|
|
|
|
+ begin
|
|
|
|
+ If not assigned(Debugger) then
|
|
|
|
+ exit;
|
|
|
|
+ if assigned(last_value) then
|
|
|
|
+ strdispose(last_value);
|
|
|
|
+ last_value:=current_value;
|
|
|
|
+ Debugger^.Command('p '+GetStr(expr));
|
|
|
|
+ if Debugger^.Error then
|
|
|
|
+ p:=StrNew(Debugger^.GetError)
|
|
|
|
+ else
|
|
|
|
+ p:=StrNew(Debugger^.GetOutput);
|
|
|
|
+ { do not open a messagebox for such errors }
|
|
|
|
+ Debugger^.got_error:=false;
|
|
|
|
+ q:=nil;
|
|
|
|
+ if assigned(p) and (p[0]='$') then
|
|
|
|
+ q:=StrPos(p,'=');
|
|
|
|
+ if not assigned(q) then
|
|
|
|
+ q:=p;
|
|
|
|
+ if assigned(q) then
|
|
|
|
+ i:=strlen(q)
|
|
|
|
+ else
|
|
|
|
+ i:=0;
|
|
|
|
+ if (i>0) and (q[i-1]=#10) then
|
|
|
|
+ begin
|
|
|
|
+ q[i-1]:=#0;
|
|
|
|
+ last_removed:=true;
|
|
|
|
+ end
|
|
|
|
+ else
|
|
|
|
+ last_removed:=false;
|
|
|
|
+ if assigned(q) then
|
|
|
|
+ current_value:=strnew(q)
|
|
|
|
+ else
|
|
|
|
+ current_value:=strnew('');
|
|
|
|
+ if last_removed then
|
|
|
|
+ q[i-1]:=#10;
|
|
|
|
+ strdispose(p);
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+destructor TWatch.Done;
|
|
|
|
+ begin
|
|
|
|
+ if assigned(expr) then
|
|
|
|
+ disposestr(expr);
|
|
|
|
+ if assigned(last_value) then
|
|
|
|
+ strdispose(last_value);
|
|
|
|
+ if assigned(current_value) then
|
|
|
|
+ strdispose(current_value);
|
|
|
|
+ inherited done;
|
|
|
|
+ end;
|
|
|
|
|
|
{****************************************************************************
|
|
{****************************************************************************
|
|
TWatchesCollection
|
|
TWatchesCollection
|
|
@@ -1648,9 +1739,6 @@ end;
|
|
TWatchesListBox
|
|
TWatchesListBox
|
|
****************************************************************************}
|
|
****************************************************************************}
|
|
|
|
|
|
- (* PWatchesListBox = ^TWatchesListBox;
|
|
|
|
- TWatchesListBox = object(THSListBox)
|
|
|
|
- MaxWidth : Sw_integer; *)
|
|
|
|
constructor TWatchesListBox.Init(var Bounds: TRect; AHScrollBar, AVScrollBar: PScrollBar);
|
|
constructor TWatchesListBox.Init(var Bounds: TRect; AHScrollBar, AVScrollBar: PScrollBar);
|
|
begin
|
|
begin
|
|
inherited Init(Bounds,1,AHScrollBar,AVScrollBar);
|
|
inherited Init(Bounds,1,AHScrollBar,AVScrollBar);
|
|
@@ -1711,14 +1799,6 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
- (* function TWatchesListBox.GetLocalMenu: PMenu;virtual;
|
|
|
|
- procedure TWatchesListBox.Clear; virtual;
|
|
|
|
- procedure TWatchesListBox.TrackSource; virtual;
|
|
|
|
- procedure TWatchesListBox.EditNew; virtual;
|
|
|
|
- procedure TWatchesListBox.EditCurrent; virtual;
|
|
|
|
- procedure TWatchesListBox.DeleteCurrent; virtual;
|
|
|
|
- procedure TWatchesListBox.ToggleCurrent; *)
|
|
|
|
-
|
|
|
|
procedure TWatchesListBox.EditCurrent;
|
|
procedure TWatchesListBox.EditCurrent;
|
|
var
|
|
var
|
|
P: PWatch;
|
|
P: PWatch;
|
|
@@ -1984,16 +2064,6 @@ end;
|
|
{****************************************************************************
|
|
{****************************************************************************
|
|
TWatchItemDialog
|
|
TWatchItemDialog
|
|
****************************************************************************}
|
|
****************************************************************************}
|
|
- (* TWatchItemDialog = object(TCenterDialog)
|
|
|
|
- constructor Init(AWatch: PWatch);
|
|
|
|
- function Execute: Word; virtual;
|
|
|
|
- private
|
|
|
|
- Watch : PWatch;
|
|
|
|
- NameIL : PInputLine;
|
|
|
|
- TextST : PAdvancedStaticText;
|
|
|
|
- CurrentIL: PLabel;
|
|
|
|
- LastIL : PLabel;
|
|
|
|
- end; *)
|
|
|
|
|
|
|
|
constructor TWatchItemDialog.Init(AWatch: PWatch);
|
|
constructor TWatchItemDialog.Init(AWatch: PWatch);
|
|
var R,R2: TRect;
|
|
var R,R2: TRect;
|
|
@@ -2265,13 +2335,13 @@ end;
|
|
|
|
|
|
procedure InitBreakpoints;
|
|
procedure InitBreakpoints;
|
|
begin
|
|
begin
|
|
- New(BreakpointCollection,init(10,10));
|
|
|
|
|
|
+ New(BreakpointsCollection,init(10,10));
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure DoneBreakpoints;
|
|
procedure DoneBreakpoints;
|
|
begin
|
|
begin
|
|
- Dispose(BreakpointCollection,Done);
|
|
|
|
- BreakpointCollection:=nil;
|
|
|
|
|
|
+ Dispose(BreakpointsCollection,Done);
|
|
|
|
+ BreakpointsCollection:=nil;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure InitWatches;
|
|
procedure InitWatches;
|
|
@@ -2293,13 +2363,22 @@ begin
|
|
RegisterType(RBreakpointsListBox);
|
|
RegisterType(RBreakpointsListBox);
|
|
RegisterType(RStackWindow);
|
|
RegisterType(RStackWindow);
|
|
RegisterType(RFramesListBox);
|
|
RegisterType(RFramesListBox);
|
|
|
|
+ RegisterType(RBreakpoint);
|
|
|
|
+ RegisterType(RWatch);
|
|
|
|
+ RegisterType(RBreakpointCollection);
|
|
|
|
+ RegisterType(RWatchesCollection);
|
|
end;
|
|
end;
|
|
|
|
|
|
end.
|
|
end.
|
|
|
|
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.31 1999-09-13 16:24:43 peter
|
|
|
|
|
|
+ Revision 1.32 1999-09-16 14:34:57 pierre
|
|
|
|
+ + TBreakpoint and TWatch registering
|
|
|
|
+ + WatchesCollection and BreakpointsCollection stored in desk file
|
|
|
|
+ * Syntax highlighting was broken
|
|
|
|
+
|
|
|
|
+ Revision 1.31 1999/09/13 16:24:43 peter
|
|
+ clock
|
|
+ clock
|
|
* backspace unident like tp7
|
|
* backspace unident like tp7
|
|
|
|
|