diff --git a/lazproj/coedit.lpi b/lazproj/coedit.lpi
index 681fbab0..325ed540 100644
--- a/lazproj/coedit.lpi
+++ b/lazproj/coedit.lpi
@@ -296,7 +296,7 @@
-
+
@@ -306,7 +306,7 @@
-
+
diff --git a/src/ce_cdbcmd.pas b/src/ce_cdbcmd.pas
index 6f1a80a4..79ed9b92 100644
--- a/src/ce_cdbcmd.pas
+++ b/src/ce_cdbcmd.pas
@@ -178,7 +178,7 @@ end;
procedure TCECdbWidget.cdbOutputToGui;
var
lst: TStringList;
- cnt: Integer;
+ str: string;
begin
if fCdbProc = nil then
exit;
@@ -186,8 +186,8 @@ begin
lst := TStringList.Create;
try
processOutputToStrings(fCdbProc, lst);
- for cnt := 0 to lst.Count-1 do
- lstCdbOut.AddItem(lst.Strings[cnt], nil);
+ for str in lst do
+ lstCdbOut.AddItem(str, nil);
lstCdbOut.Items[lstCdbOut.Items.Count-1].MakeVisible(true);
finally
lst.Free;
diff --git a/src/ce_main.pas b/src/ce_main.pas
index ba6025b6..ee863905 100644
--- a/src/ce_main.pas
+++ b/src/ce_main.pas
@@ -274,6 +274,7 @@ type
//
procedure openFile(const aFilename: string);
//
+ property processInput: TCEProcInputWidget read fPrInpWidg;
property WidgetList: TCEWidgetList read fWidgList;
end;
diff --git a/src/ce_procinput.lfm b/src/ce_procinput.lfm
index 72c6b75a..552a1fc9 100644
--- a/src/ce_procinput.lfm
+++ b/src/ce_procinput.lfm
@@ -1,26 +1,26 @@
inherited CEProcInputWidget: TCEProcInputWidget
- Left = 1427
+ Left = 868
Height = 61
Top = 335
- Width = 481
+ Width = 608
Caption = 'Process input'
ClientHeight = 61
- ClientWidth = 481
+ ClientWidth = 608
inherited Back: TPanel
Height = 61
- Width = 481
+ Width = 608
ClientHeight = 61
- ClientWidth = 481
+ ClientWidth = 608
inherited Content: TPanel
Height = 61
- Width = 481
+ Width = 608
ClientHeight = 61
- ClientWidth = 481
+ ClientWidth = 608
object txtInp: TEdit[0]
Left = 4
Height = 27
Top = 30
- Width = 394
+ Width = 521
Align = alClient
BorderSpacing.Left = 4
BorderSpacing.Top = 2
@@ -30,7 +30,7 @@ inherited CEProcInputWidget: TCEProcInputWidget
TabOrder = 0
end
object btnSend: TButton[1]
- Left = 402
+ Left = 529
Height = 27
Top = 30
Width = 75
@@ -46,7 +46,7 @@ inherited CEProcInputWidget: TCEProcInputWidget
Left = 4
Height = 22
Top = 4
- Width = 473
+ Width = 600
Align = alTop
BorderSpacing.Around = 4
BorderStyle = sbsSunken
diff --git a/src/ce_procinput.pas b/src/ce_procinput.pas
index 33880141..be9fddbd 100644
--- a/src/ce_procinput.pas
+++ b/src/ce_procinput.pas
@@ -74,6 +74,12 @@ end;
{$REGION Process input things --------------------------------------------------}
procedure TCEProcInputWidget.setProc(const aValue: TProcess);
begin
+ // TODO: process list
+ // TODO: each TCESynMemo must have its own runnable TProcess
+ // currently they share the CEMainForm.fRunProc variable.
+ if fProc <> nil then
+ fProc.Terminate(1);
+
txtExeName.Caption := 'no process';
fProc := nil;
if aValue = nil then
diff --git a/src/ce_project.pas b/src/ce_project.pas
index 26e8c85b..804377c4 100644
--- a/src/ce_project.pas
+++ b/src/ce_project.pas
@@ -90,7 +90,7 @@ type
implementation
uses
- ce_interfaces, controls, dialogs, ce_symstring, ce_libman;
+ ce_interfaces, controls, dialogs, ce_symstring, ce_libman, ce_main;
constructor TCEProject.create(aOwner: TComponent);
begin
@@ -581,6 +581,7 @@ begin
if poUsePipes in fRunner.Options then begin
fRunner.OnReadData := @runProcOutput;
fRunner.OnTerminate := @runProcOutput;
+ CEMainForm.processInput.process := fRunner;
end;
fRunner.Execute;
//
@@ -603,6 +604,10 @@ begin
finally
lst.Free;
end;
+ //
+ if not proc.Active then
+ if CEMainForm.processInput.process = proc then
+ CEMainForm.processInput.process := nil;
end;
procedure TCEProject.compProcOutput(proc: TProcess);
diff --git a/src/ce_tools.pas b/src/ce_tools.pas
index 63db1c27..cd106464 100644
--- a/src/ce_tools.pas
+++ b/src/ce_tools.pas
@@ -22,7 +22,7 @@ type
//fShortcut: string;
fLogMessager: TCELogMessageSubject;
procedure setParameters(const aValue: TStringList);
- procedure processOUtput(sender: TObject);
+ procedure processOutput(sender: TObject);
published
property toolAlias: string read fToolAlias write fToolAlias;
property options: TProcessOptions read fOpts write fOpts;