LazReport, avoid duplicated export filters

git-svn-id: trunk@38353 -
This commit is contained in:
jesus 2012-08-23 20:32:56 +00:00
parent da3f78a531
commit e57cf9363b

View File

@ -1579,6 +1579,19 @@ begin
end;
end;
function frGetExportFilterIndex(ClassRef: TfrExportFilterClass): Integer;
var
i: Integer;
begin
result := -1;
for i:=0 to Length(frFilters)-1 do
if frFilters[i].ClassRef=ClassRef then
begin
result := i;
break;
end;
end;
procedure frSetAddinEditor(ClassRef: TfrViewClass; EditorForm: TfrObjEditorForm);
var
i: Integer;
@ -1615,10 +1628,13 @@ end;
procedure frRegisterExportFilter(ClassRef: TfrExportFilterClass;
const FilterDesc, FilterExt: String);
begin
frFilters[frFiltersCount].ClassRef := ClassRef;
frFilters[frFiltersCount].FilterDesc := FilterDesc;
frFilters[frFiltersCount].FilterExt := FilterExt;
Inc(frFiltersCount);
if frGetExportFilterIndex(ClassRef)<0 then
begin
frFilters[frFiltersCount].ClassRef := ClassRef;
frFilters[frFiltersCount].FilterDesc := FilterDesc;
frFilters[frFiltersCount].FilterExt := FilterExt;
Inc(frFiltersCount);
end;
end;
procedure frRegisterFunctionLibrary(ClassRef: TClass);