mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-13 14:19:11 +02:00
LazReport: Bugfix for TfrDesignerForm.FileOpenExecute (TfrDesigner.OnLoadReport), by Soner. Issue #41807
Improvement over patch da080ca5
This commit is contained in:
parent
3484cf2162
commit
025b98aa06
@ -3794,21 +3794,14 @@ end;
|
|||||||
procedure TfrDesignerForm.FileOpenExecute(Sender: TObject);
|
procedure TfrDesignerForm.FileOpenExecute(Sender: TObject);
|
||||||
var
|
var
|
||||||
FRepName:string;
|
FRepName:string;
|
||||||
|
aFilterIndex: integer;
|
||||||
begin
|
begin
|
||||||
if CheckFileModified=mrCancel then
|
if CheckFileModified=mrCancel then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
|
|
||||||
if Assigned(frDesignerComp) and Assigned(frDesignerComp.FOnLoadReport) then
|
if Assigned(frDesignerComp) and Assigned(frDesignerComp.FOnLoadReport) then
|
||||||
begin
|
aFilterIndex:=100 //Load with frDesignerComp.FOnLoadReport
|
||||||
ClearUndoBuffer;
|
|
||||||
FRepName:='';
|
|
||||||
frDesignerComp.FOnLoadReport(CurReport, FRepName);
|
|
||||||
FCurDocFileType := dtLazReportForm;
|
|
||||||
CurDocName := FRepName;
|
|
||||||
Modified := False;
|
|
||||||
CurPage := 0;
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
with OpenDialog1 do
|
with OpenDialog1 do
|
||||||
begin
|
begin
|
||||||
@ -3827,29 +3820,42 @@ begin
|
|||||||
FileName := CurDocName;
|
FileName := CurDocName;
|
||||||
FilterIndex := 2;
|
FilterIndex := 2;
|
||||||
if Execute then
|
if Execute then
|
||||||
begin
|
aFilterIndex:=FilterIndex
|
||||||
ClearUndoBuffer;
|
else
|
||||||
CurDocName := OpenDialog1.FileName;
|
aFilterIndex:=-1; //Cancel
|
||||||
case FilterIndex of
|
end;
|
||||||
1: // fastreport form format
|
|
||||||
begin
|
if aFilterIndex>-1 then
|
||||||
FLastOpenDirectory := ExtractFilePath(CurDocName);
|
begin
|
||||||
CurReport.LoadFromFile(CurDocName);
|
ClearUndoBuffer;
|
||||||
FCurDocFileType := dtFastReportForm;
|
case aFilterIndex of
|
||||||
end;
|
1: // fastreport form format
|
||||||
2: // lasreport form xml format
|
begin
|
||||||
begin
|
CurDocName := OpenDialog1.FileName;
|
||||||
FLastOpenDirectory := ExtractFilePath(CurDocName);
|
FLastOpenDirectory := ExtractFilePath(CurDocName);
|
||||||
CurReport.LoadFromXMLFile(CurDocName);
|
CurReport.LoadFromFile(CurDocName);
|
||||||
FCurDocFileType := dtLazReportForm;
|
FCurDocFileType := dtFastReportForm;
|
||||||
end;
|
end;
|
||||||
else
|
2: // lasreport form xml format
|
||||||
raise Exception.Create('Unrecognized file format');
|
begin
|
||||||
end;
|
CurDocName := OpenDialog1.FileName;
|
||||||
//FileModified := False;
|
FLastOpenDirectory := ExtractFilePath(CurDocName);
|
||||||
Modified := False;
|
CurReport.LoadFromXMLFile(CurDocName);
|
||||||
CurPage := 0; // do all
|
FCurDocFileType := dtLazReportForm;
|
||||||
|
end;
|
||||||
|
100: // Load with frDesignerComp.FOnLoadReport
|
||||||
|
begin
|
||||||
|
FRepName := '';
|
||||||
|
frDesignerComp.FOnLoadReport(CurReport, FRepName);
|
||||||
|
FCurDocFileType := dtLazReportForm;
|
||||||
|
CurDocName := FRepName;
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
raise Exception.Create('Unrecognized file format');
|
||||||
end;
|
end;
|
||||||
|
//FileModified := False;
|
||||||
|
Modified := False;
|
||||||
|
CurPage := 0; // do all
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user