unit multiClassMethod_FastReport;
interface
uses
Classes,Graphics,AcroMultiClassMethod;
implementation
uses
fr_Class;
procedure Proc_TfrMemoView(ATable:IDataLocate;AComponent:TObject;
ACodePage,ASeqNo:string;AFont:TFont);
var
i:integer;
begin
for i:=0 to TfrMemoView(AComponent).Memo.Count-1 do
TfrMemoView(AComponent).Memo[i]:=
GetDisplayValue(ATable,TfrMemoView(AComponent).Memo[i],ACodePage,ASeqNo);
end;
procedure Proc_TfrPage(ATable:IDataLocate;AComponent:TObject;
ACodePage,ASeqNo:string;AFont:TFont);
var
i:integer;
ACM:TClassMethod;
AO:TObject;
begin
for i:=0 to TfrPage(AComponent).Objects.Count-1 do
begin
AO:=TObject(TfrPage(AComponent).Objects.Items[i]);
ACM:=AcroClassMethodStorage.GetNearstClassMethod(AO.ClassType);
if ACM<>nil then ACM.MLMethod(ATable,AO,ACodePage,ASeqNo,AFont);
end;
end;
procedure Proc_TfrPages(ATable:IDataLocate;AComponent:TObject;
ACodePage,ASeqNo:string;AFont:TFont);
var
i:integer;
begin
for i:=0 to TfrPages(AComponent).Count-1 do
Proc_TfrPage(ATable,TfrPages(AComponent).Pages[i],ACodePage,ASeqNo,AFont);
end;
procedure Proc_TfrReport(ATable:IDataLocate;AComponent:TObject;
ACodePage,ASeqNo:string;AFont:TFont);
begin
Proc_TfrPages(ATable,TfrReport(AComponent).Pages,ACodePage,ASeqNo,AFont);
end;
initialization
AcroClassMethodStorage.RegisterClassMethod(TfrReport,Proc_TfrReport);
AcroClassMethodStorage.RegisterClassMethod(TfrMemoView,Proc_TfrMemoView);
AcroClassMethodStorage.RegisterClassMethod(TfrPage,Proc_TfrPage);
AcroClassMethodStorage.RegisterClassMethod(TfrPages,Proc_TfrPages);
finalization
AcroClassMethodStorage.UnRegisterClassMethod(TfrPages);
AcroClassMethodStorage.UnRegisterClassMethod(TfrPage);
AcroClassMethodStorage.UnRegisterClassMethod(TfrMemoView);
AcroClassMethodStorage.UnRegisterClassMethod(TfrReport);
end.