This commit is contained in:
Martijn Laan 2020-08-12 20:44:51 +02:00
parent 5741d4ec0d
commit 702b12ea4a
5 changed files with 362 additions and 306 deletions

View File

@ -331,9 +331,9 @@ object CompileForm: TCompileForm
ShortCut = 16467
OnClick = FSaveClick
end
object FSaveAs: TMenuItem
object FSaveMainFileAs: TMenuItem
Caption = 'Save &As...'
OnClick = FSaveAsClick
OnClick = FSaveClick
end
object FSaveEncoding: TMenuItem
Caption = 'Save &Encoding'

File diff suppressed because it is too large Load Diff

View File

@ -89,9 +89,10 @@ type
was aborted by the application. }
ErrorFilename: PChar; { [in] Filename in which the error occurred. This
is NULL if the file is the main script. }
ErrorLine: Integer); { [in] The line number the error occurred on.
ErrorLine: Integer; { [in] The line number the error occurred on.
Zero if the error doesn't apply to any
particular line. }
IncludedFilenamesSoFar: PChar); { [in] See IncludedFilenames above (new in 6.1.0) }
end;
TCompilerCallbackProc = function(Code: Integer;

View File

@ -44,7 +44,7 @@ type
procedure MailingListImageClick(Sender: TObject);
private
FResult: TStartupFormResult;
FResultFileName: TFileName;
FResultMainFileName: TFileName;
procedure SetMRUFilesList(const MRUFilesList: TStringList);
procedure UpdateImages;
protected
@ -53,7 +53,7 @@ type
public
property MRUFilesList: TStringList write SetMRUFilesList;
property Result: TStartupFormResult read FResult;
property ResultFileName: TFileName read FResultFileName;
property ResultMainFileName: TFileName read FResultMainFileName;
end;
implementation
@ -165,7 +165,7 @@ begin
FResult := srOpenDialogExamples
else if OpenListBox.ItemIndex > 1 then begin
FResult := srOpenFile;
FResultFileName := OpenListBox.Items[OpenListBox.ItemIndex];
FResultMainFileName := OpenListBox.Items[OpenListBox.ItemIndex];
end else
FResult := srOpenDialog;
end;

View File

@ -9134,12 +9134,24 @@ end;
function ISCompileScript(const Params: TCompileScriptParamsEx;
const PropagateExceptions: Boolean): Integer;
function GetIncludedFilenames(SetupCompiler: TSetupCompiler): String;
var
S: String;
I: Integer;
begin
S := '';
for I := 0 to SetupCompiler.PreprocIncludedFilenames.Count-1 do
S := S + SetupCompiler.PreprocIncludedFilenames[I] + #0;
Result := S;
end;
var
SetupCompiler: TSetupCompiler;
P: PChar;
Data: TCompilerCallbackData;
S: String;
P2, I: Integer;
P2: Integer;
begin
if ((Params.Size <> SizeOf(Params)) and
(Params.Size <> SizeOf(TCompileScriptParams))) or
@ -9220,6 +9232,7 @@ begin
pointer if the string is empty }
Data.ErrorFilename := Pointer(SetupCompiler.ParseFilename);
Data.ErrorLine := SetupCompiler.LineNumber;
Data.IncludedFilenamesSoFar := PChar(GetIncludedFilenames(SetupCompiler));
end;
Params.CallbackProc(iscbNotifyError, Data, Params.AppData);
if PropagateExceptions then
@ -9229,10 +9242,7 @@ begin
Data.OutputExeFilename := PChar(SetupCompiler.ExeFilename);
Data.DebugInfo := SetupCompiler.DebugInfo.Memory;
Data.DebugInfoSize := SetupCompiler.DebugInfo.Size;
S := '';
for I := 0 to SetupCompiler.PreprocIncludedFilenames.Count-1 do
S := S + SetupCompiler.PreprocIncludedFilenames[I] + #0;
Data.IncludedFilenames := PChar(S);
Data.IncludedFilenames := PChar(GetIncludedFilenames(SetupCompiler));
Params.CallbackProc(iscbNotifySuccess, Data, Params.AppData);
finally
SetupCompiler.Free;