123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- unit RTDebugWin;
- interface
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- Buttons, StdCtrls, ComCtrls, ExtCtrls, RTDebug, ImgList, ToolWin;
- type
- TRTDebugMainWin = class(TForm)
- lvAssert: TListView;
- ToolBar1: TToolBar;
- tbLock: TToolButton;
- tbClear: TToolButton;
- tbOnTop: TToolButton;
- ImageList1: TImageList;
- ToolButton1: TToolButton;
- tbOptions: TToolButton;
- procedure btClearClick(Sender: TObject);
- procedure tbLockClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure tbOnTopClick(Sender: TObject);
- procedure tbOptionsClick(Sender: TObject);
- protected
- { Private declarations }
- AcceptMsg :Boolean;
- procedure MGGetListHandle(Var Msg :TMessage); message MG_RTD_GetListHandle;
- procedure WMCopyData(var M : TMessage); message WM_COPYDATA;
- public
- { Public declarations }
- end;
- var
- RTDebugMainWin: TRTDebugMainWin;
- implementation
- uses RTDebugOptions;
- {$R *.DFM}
- procedure TRTDebugMainWin.btClearClick(Sender: TObject);
- begin
- lvAssert.Clear;
- end;
- procedure TRTDebugMainWin.MGGetListHandle(Var Msg :TMessage);
- begin
- Msg.Result :=lvAssert.Handle;
- end;
- procedure TRTDebugMainWin.WMCopyData(var M : TMessage);
- Var
- Parametri :^TRTDebugParameters;
- lvItem :TListItem;
- Spaces :ShortString;
- begin
- if AcceptMsg then
- begin
- Parametri :=PcopyDataStruct(M.lParam)^.lpData;
- FillChar(Spaces, 255, '*');
- Spaces[0] :=Char(Parametri.Level);
- lvItem :=lvAssert.Items.Add;
- lvItem.Caption :=Parametri.theString;
- lvItem.SubItems.Add(IntToHex(Parametri.processID, 8));
- lvItem.SubItems.Add(IntToHex(Parametri.ThreadID, 8));
- end;
- M.Result :=Integer(AcceptMsg);
- end;
- procedure TRTDebugMainWin.tbLockClick(Sender: TObject);
- begin
- AcceptMsg :=Not(AcceptMsg);
- if AcceptMsg then tbLock.ImageIndex :=0
- else tbLock.ImageIndex :=1;
- end;
- procedure TRTDebugMainWin.FormCreate(Sender: TObject);
- begin
- AcceptMsg :=True;
- end;
- procedure TRTDebugMainWin.tbOnTopClick(Sender: TObject);
- begin
- if tbOnTop.ImageIndex=3
- then begin
- Self.FormStyle :=fsNormal;
- tbOnTop.ImageIndex :=4;
- end
- else begin
- Self.FormStyle :=fsStayOnTop;
- tbOnTop.ImageIndex :=3;
- end;
- end;
- procedure TRTDebugMainWin.tbOptionsClick(Sender: TObject);
- begin
- FormOptions.ShowModal;
- end;
- end.
|