diff --git a/lazproj/coedit.lpi b/lazproj/coedit.lpi
index e5745d9a..b7141f4f 100644
--- a/lazproj/coedit.lpi
+++ b/lazproj/coedit.lpi
@@ -307,7 +307,7 @@
-
+
diff --git a/src/ce_dmdwrap.pas b/src/ce_dmdwrap.pas
index 5c3fb6e2..d0515a98 100644
--- a/src/ce_dmdwrap.pas
+++ b/src/ce_dmdwrap.pas
@@ -258,7 +258,7 @@ type
procedure setExecutable(const aValue: string);
procedure setWorkDir(const aValue: string);
procedure setOptions(const aValue: TProcessOptions);
- procedure setParameters(const aValue: TStringList);
+ procedure setParameters(aValue: TStringList);
procedure setShowWin(const aValue: TShowWindowOptions);
protected
property executable: string read fExecutable write setExecutable;
@@ -271,7 +271,7 @@ type
destructor destroy; override;
procedure assign(source: TPersistent); override;
procedure getOpts(const aList: TStrings); override;
- procedure setProcess(const aProcess: TProcess);
+ procedure setProcess(aProcess: TProcess);
end;
(*****************************************************************************
@@ -986,7 +986,7 @@ begin
if source is TCustomProcOptions then
begin
src := TCustomProcOptions(source);
- fParameters.Assign(src.fParameters);
+ fParameters := src.fParameters;
fOptions := src.fOptions;
fExecutable := src.fExecutable;
fShowWin := src.fShowWin;
@@ -998,7 +998,9 @@ procedure TCustomProcOptions.getOpts(const aList: TStrings);
begin
end;
-procedure TCustomProcOptions.setProcess(const aProcess: TProcess);
+procedure TCustomProcOptions.setProcess(aProcess: TProcess);
+var
+ i: Integer;
begin
aProcess.Parameters := fParameters;
aProcess.Executable := fExecutable;
@@ -1029,7 +1031,7 @@ begin
doChanged;
end;
-procedure TCustomProcOptions.setParameters(const aValue: TStringList);
+procedure TCustomProcOptions.setParameters(aValue: TStringList);
begin
fParameters.Assign(aValue);
doChanged;
diff --git a/src/ce_project.pas b/src/ce_project.pas
index 79f874b2..fcd0ed46 100644
--- a/src/ce_project.pas
+++ b/src/ce_project.pas
@@ -559,16 +559,26 @@ begin
killProcess(fRunner);
//
fRunner := TAsyncProcess.Create(nil); // fRunner can use the input process widget.
+
+ // TODO-cbugfix: parameters are not copied from src to target.
currentConfiguration.runOptions.setProcess(fRunner);
- prm := '';
- i := 1;
- repeat
- prm := ExtractDelimited(i, runArgs, [' ']);
- prm := CEMainForm.expandSymbolicString(prm);
- if prm <> '``' then
- fRunner.Parameters.AddText(prm);
- Inc(i);
- until prm = '``';
+
+ //fRunner.Parameters.SaveToFile('C:\dst.txt');
+ //currentConfiguration.runOptions.parameters.SaveToFile('C:\src.txt');
+
+
+ if runArgs <> '' then
+ begin
+ prm := '';
+ i := 1;
+ repeat
+ prm := ExtractDelimited(i, runArgs, [' ']);
+ prm := CEMainForm.expandSymbolicString(prm);
+ if prm <> '``' then
+ fRunner.Parameters.AddText(prm);
+ Inc(i);
+ until prm = '``';
+ end;
//
if not fileExists(outputFilename) then
begin