Erst einmal vielen Dank für die bisherigen Ratschläge! Hier noch die Deklaration von TMySummary
Delphi-Quellcode:
TMySummary = class(TInterfacedObject, IPlanDataEnumerator)
public
CountUnassignedOrderPackages, CountUnassignedOrders: Integer;
procedure Init;
procedure HandlePlanDataElement(PD: TPlanData);
end;
Und hier die Implementierung:
Delphi-Quellcode:
procedure TMySummary.Init;
begin
Self.CountUnassignedOrderPackages:=0;
Self.CountUnassignedOrders:=0;
end;
procedure TMySummary.HandlePlanDataElement(PD: TPlanData);
begin
if PD.IsOrderPackage then begin
if TOrderPackage(PD).LPOCostType='' then Inc(Self.CountUnassignedOrderPackages);
end;
if PD.IsOrder then begin
if TOrder(PD).SAPCostType='' then Inc(Self.CountUnassignedOrders);
end;
end;
Den Ansatz mit zwei Interfaces werde ich nachher gleich mal probieren, wobei ich erstaunt bin, dass man ein ISummary definieren kann und das dann als IPlanEnumerator übergeben kann.