1
0
mirror of https://github.com/moparisthebest/Simba synced 2024-11-25 18:52:15 -05:00

Fixed some bugs: Ghost file, tab indent, cleardebug etc.

git-svn-id: http://www.villavu.com/repositories/merlijn/mufasa@579 3f818213-9676-44b0-a9b4-5e4c4e03d09d
This commit is contained in:
Raymond 2010-03-06 14:23:24 +00:00
parent 641ec96b28
commit 4b05177910
7 changed files with 89 additions and 67 deletions

View File

@ -25,7 +25,7 @@ object ScriptFrame: TScriptFrame
OnDragDrop = SynEditDragDrop OnDragDrop = SynEditDragDrop
OnDragOver = SynEditDragOver OnDragOver = SynEditDragOver
OnKeyDown = SynEditKeyDown OnKeyDown = SynEditKeyDown
Gutter.Width = 53 Gutter.Width = 57
Gutter.MouseActions = < Gutter.MouseActions = <
item item
Shift = [] Shift = []
@ -225,7 +225,7 @@ object ScriptFrame: TScriptFrame
end end
item item
Command = ecBlockIndent Command = ecBlockIndent
ShortCut = 24649 ShortCut = 16457
end end
item item
Command = ecLineBreak Command = ecLineBreak
@ -233,7 +233,7 @@ object ScriptFrame: TScriptFrame
end end
item item
Command = ecBlockUnindent Command = ecBlockUnindent
ShortCut = 24661 ShortCut = 16469
end end
item item
Command = ecPaste Command = ecPaste
@ -591,6 +591,7 @@ object ScriptFrame: TScriptFrame
'begin' 'begin'
'end.' 'end.'
) )
Options = [eoAutoIndent, eoGroupUndo, eoScrollPastEol, eoSmartTabs, eoTabIndent, eoTabsToSpaces, eoTrimTrailingSpaces, eoBracketHighlight]
BracketHighlightStyle = sbhsBoth BracketHighlightStyle = sbhsBoth
OnChange = SynEditChange OnChange = SynEditChange
OnProcessCommand = SynEditProcessCommand OnProcessCommand = SynEditProcessCommand
@ -602,7 +603,7 @@ object ScriptFrame: TScriptFrame
Width = 23 Width = 23
end end
object TSynGutterLineNumber object TSynGutterLineNumber
Width = 13 Width = 17
MouseActions = <> MouseActions = <>
MarkupInfo.Background = clBtnFace MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone MarkupInfo.Foreground = clNone

View File

@ -9,7 +9,7 @@ LazarusResources.Add('TScriptFrame','FORMDATA',[
+'h'#7#7'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'#11'ParentColor'#8#10 +'h'#7#7'fpFixed'#12'Font.Quality'#7#16'fqNonAntialiased'#11'ParentColor'#8#10
+'ParentFont'#8#9'PopupMenu'#7#17'Form1.ScriptPopup'#8'TabOrder'#2#0#10'OnDra' +'ParentFont'#8#9'PopupMenu'#7#17'Form1.ScriptPopup'#8'TabOrder'#2#0#10'OnDra'
+'gDrop'#7#15'SynEditDragDrop'#10'OnDragOver'#7#15'SynEditDragOver'#9'OnKeyDo' +'gDrop'#7#15'SynEditDragDrop'#10'OnDragOver'#7#15'SynEditDragOver'#9'OnKeyDo'
+'wn'#7#14'SynEditKeyDown'#12'Gutter.Width'#2'5'#19'Gutter.MouseActions'#14#1 +'wn'#7#14'SynEditKeyDown'#12'Gutter.Width'#2'9'#19'Gutter.MouseActions'#14#1
+#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'cc' +#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'cc'
+'Any'#8'ClickDir'#7#6'cdDown'#7'Command'#2#13#9'MoveCaret'#8#6'Option'#2#0#8 +'Any'#8'ClickDir'#7#6'cdDown'#7'Command'#2#13#9'MoveCaret'#8#6'Option'#2#0#8
+'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10 +'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#7'mbRight'#10
@ -44,8 +44,8 @@ LazarusResources.Add('TScriptFrame','FORMDATA',[
+#128#0#0#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#7 +#128#0#0#0#1#7'Command'#7#6'ecRedo'#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#7
+#11'ecLineBreak'#8'ShortCut'#2#13#0#1#7'Command'#7#11'ecSelectAll'#8'ShortCu' +#11'ecLineBreak'#8'ShortCut'#2#13#0#1#7'Command'#7#11'ecSelectAll'#8'ShortCu'
+'t'#3'A@'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'C@'#0#1#7'Command'#7#13'e' +'t'#3'A@'#0#1#7'Command'#7#6'ecCopy'#8'ShortCut'#3'C@'#0#1#7'Command'#7#13'e'
+'cBlockIndent'#8'ShortCut'#3'I`'#0#1#7'Command'#7#11'ecLineBreak'#8'ShortCut' +'cBlockIndent'#8'ShortCut'#3'I@'#0#1#7'Command'#7#11'ecLineBreak'#8'ShortCut'
+#3'M@'#0#1#7'Command'#7#15'ecBlockUnindent'#8'ShortCut'#3'U`'#0#1#7'Command' +#3'M@'#0#1#7'Command'#7#15'ecBlockUnindent'#8'ShortCut'#3'U@'#0#1#7'Command'
+#7#7'ecPaste'#8'ShortCut'#3'V@'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0 +#7#7'ecPaste'#8'ShortCut'#3'V@'#0#1#7'Command'#7#5'ecCut'#8'ShortCut'#3'X@'#0
+#1#7'Command'#7#12'ecDeleteLine'#8'ShortCut'#3'Y@'#0#1#7'Command'#7#11'ecDel' +#1#7'Command'#7#12'ecDeleteLine'#8'ShortCut'#3'Y@'#0#1#7'Command'#7#11'ecDel'
+'eteEOL'#8'ShortCut'#3'Y`'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7 +'eteEOL'#8'ShortCut'#3'Y`'#0#1#7'Command'#7#6'ecUndo'#8'ShortCut'#3'Z@'#0#1#7
@ -116,40 +116,42 @@ LazarusResources.Add('TScriptFrame','FORMDATA',[
+#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'cc' +#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#8'cc'
+'Single'#8'ClickDir'#7#6'cdDown'#7'Command'#2#9#9'MoveCaret'#8#6'Option'#2#0 +'Single'#8'ClickDir'#7#6'cdDown'#7'Command'#2#9#9'MoveCaret'#8#6'Option'#2#0
+#8'Priority'#2#0#0#0#13'Lines.Strings'#1#6#12'program new;'#6#5'begin'#6#4'e' +#8'Priority'#2#0#0#0#13'Lines.Strings'#1#6#12'program new;'#6#5'begin'#6#4'e'
+'nd.'#0#21'BracketHighlightStyle'#7#8'sbhsBoth'#8'OnChange'#7#13'SynEditChan' +'nd.'#0#7'Options'#11#12'eoAutoIndent'#11'eoGroupUndo'#15'eoScrollPastEol'#11
+'ge'#16'OnProcessCommand'#7#21'SynEditProcessCommand'#20'OnProcessUserComman' +'eoSmartTabs'#11'eoTabIndent'#14'eoTabsToSpaces'#20'eoTrimTrailingSpaces'#18
+'d'#7#25'SynEditProcessUserCommand'#19'OnSpecialLineColors'#7#24'SynEditSpec' +'eoBracketHighlight'#0#21'BracketHighlightStyle'#7#8'sbhsBoth'#8'OnChange'#7
+'ialLineColors'#14'OnStatusChange'#7#19'SynEditStatusChange'#0#244#18'TSynGu' +#13'SynEditChange'#16'OnProcessCommand'#7#21'SynEditProcessCommand'#20'OnPro'
+'tterPartList'#0#0#15'TSynGutterMarks'#0#5'Width'#2#23#0#0#20'TSynGutterLine' +'cessUserCommand'#7#25'SynEditProcessUserCommand'#19'OnSpecialLineColors'#7
+'Number'#0#5'Width'#2#13#12'MouseActions'#14#0#21'MarkupInfo.Background'#7#9 +#24'SynEditSpecialLineColors'#14'OnStatusChange'#7#19'SynEditStatusChange'#0
+'clBtnFace'#21'MarkupInfo.Foreground'#7#6'clNone'#10'DigitCount'#2#2#30'Show' +#244#18'TSynGutterPartList'#0#0#15'TSynGutterMarks'#0#5'Width'#2#23#0#0#20'T'
+'OnlyLineNumbersMultiplesOf'#2#1#9'ZeroStart'#8#12'LeadingZeros'#8#0#0#17'TS' +'SynGutterLineNumber'#0#5'Width'#2#17#12'MouseActions'#14#0#21'MarkupInfo.Ba'
+'ynGutterChanges'#0#5'Width'#2#4#13'ModifiedColor'#4#252#233#0#0#10'SavedCol' +'ckground'#7#9'clBtnFace'#21'MarkupInfo.Foreground'#7#6'clNone'#10'DigitCoun'
+'or'#7#7'clGreen'#0#0#19'TSynGutterSeparator'#0#5'Width'#2#2#0#0#21'TSynGutt' +'t'#2#2#30'ShowOnlyLineNumbersMultiplesOf'#2#1#9'ZeroStart'#8#12'LeadingZero'
+'erCodeFolding'#0#12'MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Bu' +'s'#8#0#0#17'TSynGutterChanges'#0#5'Width'#2#4#13'ModifiedColor'#4#252#233#0
+'tton'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cdUp'#7'Com' +#0#10'SavedColor'#7#7'clGreen'#0#0#19'TSynGutterSeparator'#0#5'Width'#2#2#0#0
+'mand'#2#16#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9 +#21'TSynGutterCodeFolding'#0#12'MouseActions'#14#1#5'Shift'#11#0#9'ShiftMask'
,'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny' ,#11#0#6'Button'#7#7'mbRight'#10'ClickCount'#7#8'ccSingle'#8'ClickDir'#7#4'cd'
+#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#0#8'Prio' +'Up'#7'Command'#2#16#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shif'
+'rity'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'#0#6'Butto' +'t'#11#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'
+'n'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Comman' +#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'MoveCaret'#8#6'Option'
+'d'#2#14#9'MoveCaret'#8#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11#0#9'Sh' +#2#0#8'Priority'#2#0#0#1#5'Shift'#11#7'ssShift'#0#9'ShiftMask'#11#7'ssShift'
+'iftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7 +#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'
+#6'cdDown'#7'Command'#2#0#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#21 +#7'Command'#2#14#9'MoveCaret'#8#6'Option'#2#1#8'Priority'#2#0#0#1#5'Shift'#11
+'MarkupInfo.Background'#7#6'clNone'#21'MarkupInfo.Foreground'#7#6'clGray'#20 +#0#9'ShiftMask'#11#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'Click'
+'MouseActionsExpanded'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'#7#6'mb' +'Dir'#7#6'cdDown'#7'Command'#2#0#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0
+'Left'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#14#9'M' +#0#0#21'MarkupInfo.Background'#7#6'clNone'#21'MarkupInfo.Foreground'#7#6'clG'
+'oveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#21'MouseActionsCollapsed'#14#1 +'ray'#20'MouseActionsExpanded'#14#1#5'Shift'#11#0#9'ShiftMask'#11#0#6'Button'
+#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10 +#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2
+'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#15#9'MoveCaret' +#14#9'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#0#21'MouseActionsCollapse'
+#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11#6'ssCtrl' +'d'#14#1#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#6'ssCtrl'#0#6'Button'#7#6'm'
+#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7 +'bLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#2#15#9
+'Command'#2#15#9'MoveCaret'#8#6'Option'#2#1#8'Priority'#2#0#0#0#0#0#0#0#17'T' +'MoveCaret'#8#6'Option'#2#0#8'Priority'#2#0#0#1#5'Shift'#11#0#9'ShiftMask'#11
+'SynFreePascalSyn'#17'SynFreePascalSyn1'#7'Enabled'#8#23'CommentAttri.Foregr' +#6'ssCtrl'#0#6'Button'#7#6'mbLeft'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6
+'ound'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#26'IdentifierAttri.' +'cdDown'#7'Command'#2#15#9'MoveCaret'#8#6'Option'#2#1#8'Priority'#2#0#0#0#0#0
+'Foreground'#7#9'clDefault'#22'NumberAttri.Foreground'#7#6'clNavy'#22'String' +#0#0#17'TSynFreePascalSyn'#17'SynFreePascalSyn1'#7'Enabled'#8#23'CommentAttr'
+'Attri.Foreground'#7#6'clBlue'#22'SymbolAttri.Foreground'#7#5'clRed'#25'Dire' +'i.Foreground'#7#6'clBlue'#18'CommentAttri.Style'#11#6'fsBold'#0#26'Identifi'
+'ctiveAttri.Foreground'#7#5'clRed'#20'DirectiveAttri.Style'#11#6'fsBold'#0#12 +'erAttri.Foreground'#7#9'clDefault'#22'NumberAttri.Foreground'#7#6'clNavy'#22
+'CompilerMode'#7#9'pcmObjFPC'#14'NestedComments'#9#4'left'#3'@'#1#3'top'#2#16 +'StringAttri.Foreground'#7#6'clBlue'#22'SymbolAttri.Foreground'#7#5'clRed'#25
+#0#0#0 +'DirectiveAttri.Foreground'#7#5'clRed'#20'DirectiveAttri.Style'#11#6'fsBold'
+#0#12'CompilerMode'#7#9'pcmObjFPC'#14'NestedComments'#9#4'left'#3'@'#1#3'top'
+#2#16#0#0#0
]); ]);

View File

@ -130,15 +130,15 @@ end;
procedure TScriptFrame.SynEditProcessCommand(Sender: TObject; procedure TScriptFrame.SynEditProcessCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer); var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
begin begin
if Command = ecUndo then case Command of
begin; ecUndo : begin
Command:= ecNone; Command:= ecNone;
Self.Undo; Self.Undo;
end else end;
if Command = ecRedo then ecRedo : begin
begin; Command := ecNone;
Command := ecNone; self.Redo;
Self.Redo; end;
end; end;
end; end;

View File

@ -44,7 +44,7 @@ uses
about, framefunctionlist, ocr, updateform, simbasettings; about, framefunctionlist, ocr, updateform, simbasettings;
const const
SimbaVersion = 578; SimbaVersion = 579;
type type
@ -359,6 +359,7 @@ type
procedure HandleParameters; procedure HandleParameters;
end; end;
procedure ClearDebug;
procedure formWriteln( S : String); procedure formWriteln( S : String);
function GetMethodName( Decl : string; PlusNextChar : boolean) : string; function GetMethodName( Decl : string; PlusNextChar : boolean) : string;
@ -526,22 +527,29 @@ begin
SimbaUpdateForm.ShowModal; SimbaUpdateForm.ShowModal;
end; end;
procedure ClearDebug;
begin
{$IFNDEF MSWINDOWS}
Form1.ProcessDebugStream(nil);
{$ENDIF}
TThread.Synchronize(nil,@Form1.Memo1.Clear);
end;
procedure formWriteln( S : String); procedure formWriteln( S : String);
begin begin
writeln('formWriteln: ' + s); writeln('formWriteln: ' + s);
{$ifdef MSWindows}
//Ha, we cán acces the debugmemo
Form1.Memo1.Lines.Add(s);
{$else}
DebugCriticalSection.Enter; DebugCriticalSection.Enter;
try try
{$ifdef MSWindows}
//Ha, we cán acces the debugmemo
Form1.Memo1.Lines.Add(s);
{$else}
s := s + MEOL; s := s + MEOL;
Form1.DebugStream:= Form1.DebugStream + s; Form1.DebugStream:= Form1.DebugStream + s;
{$endif}
finally finally
DebugCriticalSection.Leave; DebugCriticalSection.Leave;
end; end;
//Form1.Memo1.Lines.Add(s); {$endif}
end; end;
//{$ENDIF} //{$ENDIF}
@ -1037,7 +1045,7 @@ begin
end; end;
{$IFNDEF TERMINALWRITELN} {$IFNDEF TERMINALWRITELN}
Thread.SetDebug(@formWriteln); Thread.SetDebug(@formWriteln);
Thread.DebugMemo := Self.Memo1; Thread.SetDebugClear(@ClearDebug);
{$ENDIF} {$ENDIF}
Thread.SetScript(CurrScript.SynEdit.Lines.Text); Thread.SetScript(CurrScript.SynEdit.Lines.Text);
DbgImgInfo.DispSize := @DebugImgForm.DispSize; DbgImgInfo.DispSize := @DebugImgForm.DispSize;
@ -2272,4 +2280,3 @@ initialization
end. end.

View File

@ -225,6 +225,11 @@ begin
Self.UpdateLog.Lines.Add('Download stopped at '+inttostr(DownloadProgress.Position)+'%... Simba did not succesfully update.'); Self.UpdateLog.Lines.Add('Download stopped at '+inttostr(DownloadProgress.Position)+'%... Simba did not succesfully update.');
// more detailed info // more detailed info
writeln('EXCEPTION IN UPDATEFORM: We either hit Cancel, or something went wrong with files'); writeln('EXCEPTION IN UPDATEFORM: We either hit Cancel, or something went wrong with files');
if FileExists(Updater.BasePath + Updater.ReplacementFile + '_') then
begin
Writeln(Format('Deleting the ghost file (%s)',[Updater.BasePath + Updater.ReplacementFile + '_']));
DeleteFile(Updater.BasePath + Updater.ReplacementFile + '_');
end;
end; end;
FDone := True; FDone := True;
Self.UpdateButton.Caption := 'Update!'; Self.UpdateButton.Caption := 'Update!';

View File

@ -62,8 +62,8 @@ end;
procedure ClearDebug; extdecl; procedure ClearDebug; extdecl;
begin begin
if Assigned(CurrThread.DebugMemo) then if Assigned(CurrThread.DebugClear) then
CurrThread.Synchronize(@CurrThread.DebugMemo.Clear); CurrThread.DebugClear();
end; end;
procedure SaveScreenshot(FileName: string); extdecl; procedure SaveScreenshot(FileName: string); extdecl;

View File

@ -46,6 +46,7 @@ type
end; end;
TWritelnProc = procedure(s: string); TWritelnProc = procedure(s: string);
TClearDebugProc = procedure;
TDbgImgInfo = record TDbgImgInfo = record
DispSize : ^TPoint; DispSize : ^TPoint;
ShowForm : procedure of object; ShowForm : procedure of object;
@ -72,10 +73,13 @@ type
end; end;
TExpMethodArr = array of TExpMethod; TExpMethodArr = array of TExpMethod;
{ TMThread }
TMThread = class(TThread) TMThread = class(TThread)
protected protected
ScriptPath, AppPath, IncludePath, PluginPath, FontPath: string; ScriptPath, AppPath, IncludePath, PluginPath, FontPath: string;
DebugTo: TWritelnProc; DebugTo: TWritelnProc;
DebugClear : TClearDebugProc;
DebugImg : TDbgImgInfo; DebugImg : TDbgImgInfo;
ExportedMethods : TExpMethodArr; ExportedMethods : TExpMethodArr;
Includes : TStringList; Includes : TStringList;
@ -85,7 +89,6 @@ type
Client : TClient; Client : TClient;
MInternet : TMInternet; MInternet : TMInternet;
StartTime : LongWord; StartTime : LongWord;
DebugMemo : TMemo;
SyncInfo : PSyncInfo; //We need this for callthreadsafe SyncInfo : PSyncInfo; //We need this for callthreadsafe
ErrorData : PErrorData; //We need this for thread-safety etc ErrorData : PErrorData; //We need this for thread-safety etc
@ -97,8 +100,8 @@ type
function LoadFile(ParentFile : string; var filename, contents: string): boolean; function LoadFile(ParentFile : string; var filename, contents: string): boolean;
procedure AddMethod(meth: TExpMethod); virtual; procedure AddMethod(meth: TExpMethod); virtual;
procedure SetScript(Script : string);
procedure SetDebug( writelnProc : TWritelnProc ); procedure SetDebug( writelnProc : TWritelnProc );
procedure SetDebugClear( clearProc : TClearDebugProc );
procedure SetDbgImg( DebugImageInfo : TDbgImgInfo); procedure SetDbgImg( DebugImageInfo : TDbgImgInfo);
procedure SetPaths(ScriptP,AppP,IncludeP,PluginP,FontP : string); procedure SetPaths(ScriptP,AppP,IncludeP,PluginP,FontP : string);
procedure OnThreadTerminate(Sender: TObject); procedure OnThreadTerminate(Sender: TObject);
@ -396,6 +399,11 @@ begin
DebugTo := writelnProc; DebugTo := writelnProc;
end; end;
procedure TMThread.SetDebugClear(clearProc: TClearDebugProc);
begin
DebugClear:= clearProc;
end;
procedure TMThread.SetDbgImg(DebugImageInfo: TDbgImgInfo); procedure TMThread.SetDbgImg(DebugImageInfo: TDbgImgInfo);
begin begin
DebugImg := DebugImageInfo; DebugImg := DebugImageInfo;
@ -875,4 +883,3 @@ finalization
//PluginsGlob.Free; //PluginsGlob.Free;
//Its a nice idea, but it will segfault... the program is closing anyway. //Its a nice idea, but it will segfault... the program is closing anyway.
end. end.